【发布时间】:2014-01-22 05:42:57
【问题描述】:
假设客户端正在请求以下 URL:
/user-details?user=123
如果/user-details 是不存在的资源,那么正确的状态码显然是404。
但是,如果 /user-details 确实存在,但不存在 ID 为 123 的用户:
- 到目前为止,我已经返回了
404 Not Found,但经验告诉我,不知道它是 resource 还是 entity 会让人感到困惑没有找到; - 我考虑过使用
400 Bad Request,但我也觉得它很混乱,因为请求在技术上是正确的,只是请求一个不存在的实体。
是否有更适合此目的的 HTTP 状态码?
【问题讨论】:
-
您是否有理由不愿意接受当前的答案之一?你最终使用了什么?
-
阅读下面的答案后,我认为
404更好,我相信我还没有准备好接受它;) -
http 应该只是扩展它们的规范以包含新代码,以便我们可以区分 404-resource-not-found 和 404-requested-entity(resource) -not-found。 404-1 或 404-a 或任何有效的方法。