Spring 指南(了解REST)

9次阅读

共计 1036 个字符,预计需要花费 3 分钟才能阅读完成。

了解 REST
REST(Representational State Transfer)由 Roy Fielding 于 2000 年在他的博士论文中引入和定义,REST 是用于设计分布式系统的架构风格,它不是标准,而是一组约束,例如无状态,具有客户端 / 服务器关系和统一接口,REST 与 HTTP 并不严格相关,但最常与它相关联。
REST 原则

资源公开易于理解的目录结构 URI。

表示传输 JSON 或 XML 以表示数据对象和属性。

消息显式使用 HTTP 方法(例如,GET、POST、PUT 和 DELETE)。

无状态交互在请求之间不在服务器上存储客户端上下文,状态依赖性限制和限制可伸缩性,客户端保持会话状态。

HTTP 方法
使用 HTTP 方法将 CRUD(创建、检索、更新、删除)操作映射到 HTTP 请求。
GET
检索信息,GET 请求必须是安全且幂等的,这意味着无论使用相同参数重复多少次,结果都是相同的,它们可能有副作用,但用户不期望它们,因此它们对系统的操作不是至关重要的,请求也可以是部分的或有条件的。
检索 ID 为 1 的地址:
GET /addresses/1
POST
请求 URI 上的资源对提供的实体执行某些操作,POST 通常用于创建新实体,但也可用于更新实体。
创建一个新地址:
POST /addresses
PUT
将实体存储在 URI 中,PUT 可以创建新实体或更新现有实体,PUT 请求是幂等的,幂等性是 PUT 与 POST 请求的期望之间的主要区别。
修改 ID 为 1 的地址:
PUT /addresses/1
注意:PUT 替换现有实体,如果仅提供数据元素的子集,则其余数据元素将替换为空或 null。
PATCH
仅更新 URI 上实体的指定字段,PATCH 请求既不安全也不是幂等(RFC 5789),这是因为 PATCH 操作无法确保整个资源已更新。
PATCH /addresses/1
DELETE
请求删除资源,但是,不必立即删除资源,它可能是异步或长时间运行的请求。
删除 ID 为 1 的地址:
DELETE /addresses/1
HTTP 状态码
状态码表明 HTTP 请求的结果。

1XX — 信息

2XX — 成功

3XX — 重定向

4XX — 客户端错误

5XX — 服务器错误

媒体类型
Accept 和 Content-Type HTTP 头可用于描述 HTTP 请求中发送或请求的内容,如果客户端正在请求 JSON 格式的响应,则可以将 Accept 设置为 application/json,相反,在发送数据时,将 Content-Type 设置为 application/xml 会告诉客户端请求中发送的数据是 XML。

正文完
 0