我有一个REST请求(虽然不完全是REST)。输入数据通过HTTP有效负载作为XML接收,因此要读取的记录在xml中指定为
<Item>
<ID>1</ID>
</Item>
此处,如果ID
&#39; 1&#39;在数据库中找不到,我应该返回404 Not found。
根据https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html,404 Not Found
被称为The server has not found anything matching the Request-URI.
但在我的情况下,可以成功到达URI并且无法找到有效负载中的数据。是否适合使用404
或我应该使用任何其他状态代码?
答案 0 :(得分:1)
首先,为什么要发送有效负载来检索数据?如果要以RESTful方式检索数据,则应在路径中发送id,如/some-resource/1
。我希望有一个很好的理由不遵循这个标准。
在任何情况下,在我看来,返回404
是最好的方法。如果找不到资源,任何客户端都会期望404
,即使正式定义指定资源位于URL中。