6

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

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

4

1 回答 1

9

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

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

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

更多细节和指南可以在RESTful Web APIsREST API Design Rulebook中找到

于 2014-10-23T18:36:48.337 回答