负载中指定的无效资源的HTTP状态代码
我有一个REST请求(尽管不完全是REST)。 输入数据通过HTTP有效载荷作为XML接收,因此要读取的记录在xml中指定为,
<Item> <ID>1</ID> </Item>
在这里,如果在数据库中找不到ID
',我应该返回404找不到。
根据https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html,404 404 Not Found
被称为The server has not found anything matching the Request-URI.
但在我的情况下,可以成功地到达URI并找不到有效负载中的数据。 使用404
还是应该使用其他状态代码是否合适?
首先,你为什么要发送一个有效载荷来检索数据? 如果您想以REST方式检索数据,则应该在路径中发送该ID,如/some-resource/1
。 我希望有一个很好的理由不遵循这个标准。
无论如何,在我看来,返回404
是最好的方法。 如果找不到资源,即使正式定义指定资源位于URL中,任何客户端都会期望404
。
上一篇: HTTP Status code for invalid resource specified in payload
下一篇: What should be the status code for protocol mismatch error HTTP/HTTPS?