# 第 16 章　使用 Spring MVC 创建 REST API

本章内容：

* 编写处理 REST 资源的控制器
* 以 XML、JSON 及其他格式来表述资源
* 使用 REST 资源数据为王。

作为开发人员，我们经常关注于构建伟大的软件来解决业务问题。数据只是软件完成工作时要处理的原材料。但是如果你问一下业务人员，数据和软件谁更重要的话，他们很可能会选择数据。数据是许多业务的生命之血。软件通常是可以替换的，但是多年积累的数据是永远不能替换的。

你是不是觉得有些奇怪，既然数据如此重要，为何在开发软件的时候却经常将其视为事后才考虑的事情？以我们前面上一章所介绍的远程服务为例，这些服务是以操作和处理为中心的，而不是信息和资源。

近几年来，以信息为中心的表述性状态转移（Representational State Transfer，REST）已成为替换传统 SOAP Web 服务的流行方案。SOAP 一般会关注行为和处理，而 REST 关注的是要处理的数据。

从 Spring 3.0 版本开始，Spring 为创建 REST API 提供了良好的支持。Spring 的 REST 实现在 Spring 3.1、3.2 和如今的 4.0 版本中不断得到发展。

好消息是 Spring 对 REST 的支持是构建在 Spring MVC 之上的，所以我们已经了解了许多在 Spring 中使用 REST 所需的知识。在本章中，我们将基于已了解的 Spring MVC 知识来开发处理 RESTful 资源的控制器。但在深入了解细节之前，先让我们看看使用 REST 到底是什么。
