我正在寻找正确的响应代码和指南的一些指导。请求构成另一个资源的资源的消息。
例如,GET请求:
用户/ {ID}
用户不存在的将返回404,其中未找到用户资源的消息。
我的问题是,如果找不到用户资源,应该返回以下内容:
用户/ {ID} /朋友
我目前正在返回与第一个示例中相同的代码/消息。我应该回复专门针对朋友资源的消息吗?我个人认为让API客户端意识到找不到父资源更有帮助,因为你有一个更大的URI链。
答案 0 :(得分:6)
在这个特定的例子中,如果要让客户区分朋友对不存在的用户的请求,以及朋友对没有朋友的用户的请求,我认为最有意义的是在第一种情况下返回404,在第二种情况下返回200。
换句话说,“无”是朋友的有效值。不存在用户存在但他们(可能是空的)朋友列表不存在的情况,因此在为父资源发布404时从不存在任何歧义。
答案 1 :(得分:1)
我很想返回400 Bad Request
标头,并将错误消息放在响应正文中。不幸的是,在这种情况下没有正确或错误的答案,所以请选择最适合您和您的应用程序的方法。