什么状态代码更适合关系不存在的情况?
例如,/articles/1/comments/4
,通过此次调用,您将从commentID
获得articleID
4。但是,如果此关系中不存在commentID
4,那应该是什么API已退回,404
或200
?
编辑:让我澄清一下我的意思。
问题是,您可以从另一个角度解释404
类似资源不存在,例如:/articles/1/builders/3
。你的申请中根本没有这样的路线!您的应用程序确实具有此类URL的处理程序。但是/articles/1/comments/4
。你在app中有这样的路线,你有处理程序(控制器)。是的,我知道这个网址反映了评论和文章之间的关系,这就是为什么它很棘手。因为ID
4的评论可能存在于DB
中,即使它不属于文章。然后,如果您在应用程序中有这样的路由,您可能会说从http协议的角度来看,您有这样的资源,但根据您的应用程序逻辑,您可能会说这样的注释不属于指定的文章。
答案 0 :(得分:4)
它应该是404
(当然)。您请求ID等于4的特定资源但未找到它。