【问题标题】:Distinguish between no results and and no service in a Restful web service在 Restful Web 服务中区分无结果和无服务
【发布时间】:2013-11-27 18:01:13
【问题描述】:

如果我有一个使用类似于下面的 url 模式运行的服务。

HOST/animals/{id}

如果在大多数 Rest 实现中使用不存在的 id 在此 url 上执行 GET,我希望收到 404 Not Found 响应。

如果我发出 GET 请求(注意错字!):

HOST/animels/{id}

在大多数 Rest 实现中,如果 id 有效,我也会收到 404 响应。

显然,我可以通过查看响应正文来区分场景,但这将是我的 API 的自定义行为。

对此有标准方法吗?

可能不允许返回方法/对非映射 url 的请求错误(尽管这会对预期的行为产生很大的变化)?

或者我们是否需要 2 个未找到的状态代码?

发生这种情况的场景是客户端的某些文档/实现中的拼写错误。

【问题讨论】:

标签: http rest restful-url


【解决方案1】:

如果将整个 URL 视为指向资源的标识符,则两种情况相同。

  • Case-1:“/animals/{bad-id}”指向未找到的资源。
  • 案例 2:“/animels/{id}”指向未找到的资源。

因此这两种情况都应视为“未找到”

【讨论】:

    猜你喜欢
    • 2014-10-22
    • 1970-01-01
    • 1970-01-01
    • 2020-08-21
    • 1970-01-01
    • 2016-07-26
    • 2011-03-19
    • 2018-03-02
    • 2010-11-19
    相关资源
    最近更新 更多