【问题标题】:What HTTP response code should be returned when a constraint fails?约束失败时应该返回什么 HTTP 响应代码?
【发布时间】:2014-12-19 12:18:41
【问题描述】:

我们有两个名为TrackWalkthru 的对象。它们通过TrackWalkthruAssociation 相互链接。如果TrackWalkthru 相互关联(即存在将它们链接在一起的TrackWalkthruAssociation 实例),则除非将它们链接在一起的TrackWalkthruAssociation 实例首先删除,否则两者都不能被删除

因此,例如,当关联存在时,将DELETE 发送到/tracks/1/walkthrus/1 应该会失败。为此,适当的 HTTP 响应代码是什么?我不想返回 500,因为这不是意外情况。

【问题讨论】:

    标签: api rest http http-response-codes


    【解决方案1】:

    猜,可以返回:409('Conflict')。

    409 错误响应告诉客户端他们试图将 REST API 的资源 进入不可能或不一致的状态。

    如果您在链接本身之前删除任何链接资源,则将资源置于impossible 状态。

    更多详情和指南可在RESTful Web APIsREST API Design Rulebook 中找到

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-07-26
      • 2018-05-23
      • 2020-06-29
      • 2013-01-18
      • 1970-01-01
      • 2015-12-23
      • 2018-04-26
      相关资源
      最近更新 更多