我们有两个名为Track
和Walkthru
的对象。它们通过TrackWalkthruAssociation
相互关联。如果Track
和Walkthru
彼此关联(即,TrackWalkthruAssociation
实例存在将它们链接在一起),除非链接它们的TrackWalkthruAssociation
实例,否则不能删除任何一个实例一起删除第一。
因此,例如,当存在关联时,将DELETE
发送到/tracks/1
或/walkthrus/1
会失败。对于这个,适当的HTTP响应代码是什么?我不想返回500,因为这不是一个意想不到的情况。
答案 0 :(得分:8)
猜猜,可以返回:409('冲突')。
409错误响应告诉客户端他们试图放置REST API的资源 进入一个不可能或不一致的状态。
如果您在链接本身之前删除任何链接资源,则会将资源置于impossible
状态。
更多细节&可以在RESTful Web APIs或REST API Design Rulebook
中找到相关指南