什么是“找不到请求的资源”的合适的HTTP状态代码?

时间:2018-10-25 19:31:24

标签: rest http

在以下情况下,最好使用哪种HTTP状态代码?

我有一个REST API,可以根据其ID获取一些数据库实体。这种情况是在数据库中找不到请求的实体时。

2 个答案:

答案 0 :(得分:3)

我倾向于使用404。 话虽这么说,这是HTTP状态代码https://en.wikipedia.org/wiki/List_of_HTTP_status_codes

的维基百科链接

答案 1 :(得分:2)

404是适合这种情况的状态代码。它指示客户端错误,并指示找不到请求资源的表示形式。

RFC 7231中,定义HTTP / 1.1协议语义的文档:

  

6.5.4. 404 Not Found

     

404(未找到)状态码表示原始服务器未找到目标资源的当前表示或不愿意透露该资源的存在。 404状态代码不表示这种缺乏表示是暂时的还是永久的;如果原始服务器大概通过某种可配置的方式知道该条件很可能是永久性的,则410(已用)状态代码优于404