PUT请求更新成功时,RESTful服务的正确响应方式是什么?
REST架构下PUT请求成功的合规响应方式
在REST风格的API设计里,当PUT请求成功完成资源更新时,有两种完全符合规范的响应方案,我给你逐一说明:
方式1:返回204 No Content(无响应体)
这种方案适合客户端已经知晓更新后资源状态,或者不需要获取最新实体的场景。响应仅包含状态码为204 No Content的响应头,没有响应体内容。
示例响应头(HTTP格式):
content-type: application/json; charset=utf-8 status: 204 No Content ratelimit-limit: 5000 ratelimit-remaining: 4816 ratelimit-reset: 1444931833
方式2:返回200 OK(带更新后的实体)
如果客户端需要确认更新后的资源具体状态,或者后续操作依赖最新实体数据,就可以采用这种方式。响应状态码为200 OK,同时响应体中包含更新完成后的资源实体的实际表示。
示例响应头:
content-type: application/json; charset=utf-8 status: 200 OK ratelimit-limit: 5000 ratelimit-remaining: 4815 ratelimit-reset: 1444931833
示例响应体(JSON格式):
{ "id": "123", "name": "Updated Resource Name", "description": "This is the updated description", "updated_at": "2024-05-20T14:30:00Z" }
内容的提问来源于stack exchange,提问作者Pavel Ryzhov
相关产品推荐
相关产品推荐

