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

can*_*say 9 api rest httpresponse http-status-code-404

在请求构成另一个资源的资源时,我正在寻找正确的响应代码和消息的一些指导.

例如,GET请求:

用户/ {ID}

用户不存在的地方将返回404,其中未找到用户资源的消息.

我的问题是,当没有找到用户资源时,应该返回以下内容:

用户/ {ID} /朋友

我目前正在返回与第一个示例中相同的代码/消息.我应该回复专门针对朋友资源的消息吗?我个人认为让API客户端意识到找不到父资源更有帮助,因为你有一个更大的URI链.

Nic*_*ght 6

在这个特定的例子中,如果要让客户区分朋友对不存在的用户的请求和朋友对没有朋友的用户的请求,我认为最有意义的是返回404 in第一种情况,第二种情况是200,空集.

换句话说,"无"是朋友的有效值.不存在用户存在但他们(可能是空的)朋友列表不存在的情况,因此在为父资源发布404时从不存在任何歧义.