标签: rest
假设我有一个像PATCH / person /这样的端点,我向其中发布了一些JSON
{ parent: <parentId> }
如果找不到具有id的人,那么适当的HTTP响应代码是什么?如果未找到具有id的人,则应该明显为404,但这是否也适用于请求本身的URI中未直接提及的资源?
我尝试查看一些有关HTTP错误代码的解释,但目前还不清楚。
答案 0 :(得分:1)
您应使用422来指示服务器无法处理给定的实体。在RFC 5789中,文档定义了PATCH方法:
422
PATCH
不可处理的请求:当服务器理解修补程序文档并且修补程序文档的语法似乎有效,但服务器可以使用422(不可处理实体)响应来指定无法处理请求。这可能包括尝试以某种导致资源无效的方式修改资源;例如,对格式正确的XML文档的修改将导致其不再格式正确。此状态代码可能还会显示更具体的错误,例如“冲突状态”,但更具体的错误通常会更有用。
先前here和here描述了解决类似情况的解决方案。