【问题标题】:HTTP Status code for invalid resource specified in payload有效负载中指定的无效资源的 HTTP 状态代码
【发布时间】:2018-07-19 20:14:16
【问题描述】:

我有一个 REST 请求(虽然不是完全 REST)。输入数据通过 HTTP 负载作为 XML 接收,因此要读取的记录在 xml 中指定为,

<Item> <ID>1</ID> </Item>

这里,如果在数据库中没有找到ID'1',我应该返回404 Not found。

根据https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html404 Not Found 被称为The server has not found anything matching the Request-URI. 但在我的情况下,可以成功访问 URI,并且无法找到有效负载中的数据。使用404 合适还是应该使用任何其他状态码?

【问题讨论】:

    标签: rest http jersey http-status-code-404 http-status-codes


    【解决方案1】:

    首先,您为什么要发送有效载荷来检索数据?如果您想以 RESTful 方式检索数据,您应该在路径中发送 id,例如 /some-resource/1。我希望有一个很好的理由不遵循这个标准。

    在我看来,无论如何,返回404 是最好的方法。如果没有找到资源,任何客户端都会期望 404,即使正式定义指定资源在 URL 中也是如此。

    【讨论】:

    • 是的,无论你如何向服务器请求资源(url,xml有效负载)结果都是一样的,它不存在,404
    猜你喜欢
    • 2016-10-02
    • 2015-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-12
    • 2015-04-15
    • 1970-01-01
    • 2018-06-26
    相关资源
    最近更新 更多