【问题标题】:Correct HTTP status code for when ID in the body does not match ID in the path?当正文中的 ID 与路径中的 ID 不匹配时,正确的 HTTP 状态代码?
【发布时间】:2018-10-21 23:45:21
【问题描述】:

假设我 PUT 到 /api/resource/50 并且在正文中我有 {"Id": 12, ...}

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

【问题讨论】:

标签: rest semantics


【解决方案1】:

409 冲突呢?

6.5.8. 409 Conflict

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

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

【讨论】:

    【解决方案2】:

    我可能会使用代码 409(冲突)。
    这个维基百科页面非常方便: 4xx Status Codes

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-14
      • 2021-06-14
      • 1970-01-01
      • 2020-03-24
      • 2018-11-11
      • 2019-04-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多