api - 缺少父资源的REST API代码/消息

标签 api rest http-status-code-404 httpresponse

当我请求构成另一个资源一部分的资源时,我正在寻找有关正确响应代码和消息的指导。

例如,在以下位置的GET请求:

用户/{id}

用户不存在的地方将返回404,并显示一条未找到用户资源的消息。

我的问题是,当找不到用户资源时,以下内容应返回什么:

用户/{id}/ friend

我目前正在返回与第一个示例相同的代码/消息。我是否应该返回一条专门与好友资源有关的消息?我个人认为,如果您有较大的URI链,让API客户端知道未找到父资源会更有用。

最佳答案

在此特定示例中,如果要让客户端区分不存在用户的 friend 请求和仅不具有 friend 的用户的 friend 请求,我认为在404中返回404是最有意义的第一种情况,第二种情况下为200。

换句话说,“无”对 friend 来说是有效的值。在任何情况下都不会存在用户,但是他们的(可能为空) friend 列表不存在,因此为父资源发布404不会有任何歧义。

关于api - 缺少父资源的REST API代码/消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15384260/

相关文章:

java - 如果响应时间过长,则取消休息请求

c++ - 用于连接在线 REST 服务器的 REST API

eclipse - tomcat eclipse java ee 默认包

eclipse - 使用 Macbook PRO 在服务器 tomcat 上运行 servlet 时出现 404 错误

ruby - 使用 Cucumber、Mechanize、Webrat 拯救 HTTP 404 Mechanize::ResponseCodeError 异常

api - 从 Google Analytics 获取用户的营销来源

ruby-on-rails - rake 路由上未初始化的常量 API

javascript - Tampermonkey 与 gmail JS API

c# - C++ API 返回一个结构数组

java - RESTful Java Web 应用程序中的 Hadoop - 冲突的 URI 模板