首页 > 解决方案 > 当正文中的 ID 与路径中的 ID 不匹配时,正确的 HTTP 状态代码?

问题描述

假设我 PUT 到/api/resource/50我拥有的身体中{"Id": 12, ...}

这种不匹配是否存在 4xx HTTP 状态?我在想这个错误的方式吗?现在我只返回400。

标签: restsemantics

解决方案


409冲突呢?

6.5.8. 409 冲突

( 409Conflict) 状态码表示由于与目标资源的当前状态冲突,请求无法完成。此代码用于用户可能能够解决冲突并重新提交请求的情况。服务器应该生成一个有效载荷,其中包含足够的信息供用户识别冲突的来源。[...]

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


推荐阅读