相对实体的404 vs 200,RESTful

时间:2015-10-01 08:27:55

标签: api rest http

什么状态代码更适合关系不存在的情况?

例如,/articles/1/comments/4,通过此次调用,您将从commentID获得articleID 4。但是,如果此关系中不存在commentID 4,那应该是什么API已退回,404200

编辑:让我澄清一下我的意思。

问题是,您可以从另一个角度解释404类似资源不存在,例如:/articles/1/builders/3。你的申请中根本没有这样的路线!您的应用程序确实具有此类URL的处理程序。但是/articles/1/comments/4。你在app中有这样的路线,你有处理程序(控制器)。是的,我知道这个网址反映了评论和文章之间的关系,这就是为什么它很棘手。因为ID 4的评论可能存在于DB中,即使它不属于文章。然后,如果您在应用程序中有这样的路由,您可能会说从http协议的角度来看,您有这样的资源,但根据您的应用程序逻辑,您可能会说这样的注释不属于指定的文章。

1 个答案:

答案 0 :(得分:4)

它应该是404(当然)。您请求ID等于4的特定资源但未找到它。