Rest 当正文中的ID与路径中的ID不匹配时,是否更正HTTP状态代码?

Rest 当正文中的ID与路径中的ID不匹配时,是否更正HTTP状态代码?,rest,semantics,Rest,Semantics,假设我放在/api/resource/50中,在主体中我有{“Id”:12,…} 此不匹配是否存在4xx HTTP状态?我是不是想错了?现在我刚刚返回400。我可能会选择代码409(冲突)。 这个维基百科页面非常方便: 冲突怎么办 409(冲突)状态代码表示请求无法执行 由于与目标的当前状态冲突而无法完成 资源。此代码用于用户可能需要的情况 能够解决冲突并重新提交请求。服务器 应该为用户生成包含足够信息的有效负载 认识到冲突的根源。[……] 但是使用不应该是一个问题。只需确保您在响应负载中返回

假设我放在
/api/resource/50
中,在主体中我有
{“Id”:12,…}


此不匹配是否存在4xx HTTP状态?我是不是想错了?现在我刚刚返回400。

我可能会选择代码409(冲突)。
这个维基百科页面非常方便: 冲突怎么办

409
(冲突)状态代码表示请求无法执行 由于与目标的当前状态冲突而无法完成 资源。此代码用于用户可能需要的情况 能够解决冲突并重新提交请求。服务器 应该为用户生成包含足够信息的有效负载 认识到冲突的根源。[……]


但是使用不应该是一个问题。只需确保您在响应负载中返回有关错误的一些详细信息。

为什么客户端首先需要提供两次此信息?从URI中识别资源就足够了。