例如,您运行的GET请求,users/9但没有ID为#9的用户。最好的响应码是?200 OK202接受204没有内容400错误的要求找不到404
3 回答
慕婉清6462132
TA贡献1804条经验 获得超2个赞
最初,我认为204是有意义的,但是在讨论之后,我相信404是唯一真正正确的答案。考虑以下数据:
用户:约翰,彼得
METHOD URL STATUS RESPONSE
GET /users 200 [John, Peter]
GET /users/john 200 John
GET /users/kyle 404 Not found
GET /users?name=kyle` 200 []
DELETE /users/john 204 No Content
一些背景:
搜索返回一个数组,它没有任何匹配,但是有内容:一个空数组。
404当然是最著名的请求服务器不支持的URL,但是实际上缺少的资源是相同的。
即使/users/:name与匹配users/kyle,用户Kyle也不可用资源,因此404仍然适用。它不是搜索查询,它是动态url的直接引用,所以它是404。
无论如何,我的两分钱:)
- 3 回答
- 0 关注
- 620 浏览
相关问题推荐
添加回答
举报
0/150
提交
取消