给定一个对具有 id 的资源的 DELETE 请求。例如,'DELETE /products/:id/ 如果无法删除资源,是否适合使用 422 Unprocessable Entity 进行响应。或者服务器应该只响应 400。
问问题
1188 次
给定一个对具有 id 的资源的 DELETE 请求。例如,'DELETE /products/:id/ 如果无法删除资源,是否适合使用 422 Unprocessable Entity 进行响应。或者服务器应该只响应 400。
422 可能不适合一般情况,因为它是WebDAV 特定的代码。
如果问题是用户可以解决的问题,那409 conflict
将是合适的。否则,我认为 400 是最好的可用响应。
问题已从 修改resource does not exist
为resource cannot be deleted
。我在下面留下了我原来的答案。
我建议404: Not found
这里是适当的回应。
或者,410: Gone
如果您能够确定该产品确实存在,但此后已被删除,则适用。