REST中成功的DELETE语句的HTTP状态返回码是什么?


问题内容

我正在研究如何使用Spring处理REST Web服务(但是我不知道这是否是与Spring相关的答案,或更笼统地说,它仅与REST概念有关)。

所以我的疑问是:成功的DELETE语句的HTTP状态返回码到底是什么?

204 还是 200

我知道 200 表示我的请求已正确完成,但在网上阅读时,我似乎希望它能 在GET成功返回内容之后 而不是在删除后 返回

我发现在某处 成功完成PUT或DELETE之后便* 获得了 204 状态。是真的吗 我不明白,这意味着 响应为空 ,为什么
响应为空 意味着PUT或DELETE操作成功完成?
***


问题答案:

对于每种方法正确的HTTP状态代码,没有严格的规定。这取决于发生了什么,需要向客户端发送哪些信息,等等。我可以想到一些示例:

  • 成功DELETE,没有更多信息。204 No Content

  • 成功DELETE,但您有有关相关孤立资源的警告,也应删除该警告。200 OK

  • 您接受了该DELETE请求,但可能会花费很长时间,并且您将异步执行该请求。客户应稍后再检查。202 Accepted

  • 您接受了该DELETE请求,但是无法删除资源,而是将URI重置为默认值。205 Reset Content