作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
为了尊重 REST 原则的最佳实践,是否最好在 POST/PUT 时返回创建/更新的实体?还是返回带有 Location header 的空 HTTP 正文?
更准确地说,当一个资源通过 POST 创建时,我们应该返回:
- Status 201 + Location header + (the created entity in the HTTP body)
OR
- Status 201 + Location header + (empty body)
- Status 200 + (the updated entity in the HTTP body)
OR
- Status 204 (empty body)
最佳答案
研究其他人的 API 以了解他们如何做到这一点可能会有所帮助。大多数有用的公共(public) API 都发布在网络上的某个地方。
例如,Overmind 项目发布了他们的 REST API here .通常,他们的方法是返回一个 JSON 字典,其中包含新的或修改的实体 ID 及其所有属性:
Operation HTTP Method URL Query string
-------------------------- ----------- --- ------------
Create node for a specific
provider POST /api/nodes/ provider_id=PROVIDER_ID
HTTP Payload returned
---------------------
JSON dict with id of node created (generated on the server side) and all other
attributes of the node
<RestException>
<TwilioResponse>
中的元素
关于web-services - REST 最佳实践 : Should you return an entity on POST and PUT calls?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20383007/
我是一名优秀的程序员,十分优秀!