Spring boot教程-RESTful Web Services 简介
RESTful Web Services 简介
REST 代表表征状态传输(REpresentational State Transfer)。它由Roy Thomas Fielding开发,他也是HTTP的开发者。RESTful Web服务的主要目标是使Web服务更加高效。RESTful Web服务试图使用HTTP中已经存在的不同概念来定义服务。REST是一种架构方法,而不是一个协议。
它不定义标准的消息交换格式。我们可以使用XML和JSON构建REST服务。JSON是REST中更受欢迎的格式。REST的关键抽象是资源。资源可以是任何东西。可以通过统一资源标识符(URI)访问资源。例如:
资源有像XML、HTML和JSON这样的表示。表示性资源捕获当前状态。当我们请求资源时,我们提供资源的表示。HTTP的重要方法有:
- GET:读取资源。
- PUT:更新现有资源。
- POST:创建新资源。
- DELETE:删除资源。
例如,如果我们要在社交媒体应用程序中执行以下操作,我们会得到相应的结果:
- POST /users:创建用户。
- GET /users/{id}:检索用户的详细信息。
- GET /users:检索所有用户的详细信息。
- DELETE /users:删除所有用户。
- DELETE /users/{id}:删除用户。
- GET /users/{id}/posts/post_id:检索特定帖子的详细信息。
- POST /users/{id}/posts:创建用户的帖子。
此外,我们将在项目中实现这些URI。
HTTP还定义了以下标准状态码:
- 404:资源未找到。
- 200:成功。
- 201:已创建。
- 401:未经授权。
- 500:服务器错误。
RESTful 服务的约束条件
- 必须有服务生产者和服务消费者。
- 服务是无状态的。
- 服务结果必须可缓存。
- 接口是统一的,并暴露资源。
- 服务应该假设具有分层架构。
RESTful Web 服务的优势
- RESTful Web 服务是与平台无关的。
- 它可以使用任何编程语言编写,并且可以在任何平台上执行。
- 它提供了不同的数据格式,如JSON、文本、HTML和XML。
- 与SOAP相比,它更快,因为没有像SOAP那样严格的规范。
- 这些服务是可重用的。
- 它们是语言中立的。