[英]What is the HTTP status return code for a successful DELETE statement in REST?
我正在研究如何Spring处理REST Web服务(但我不知道它是否是Spring相关的答案,或者更一般地说它只与REST概念相关)。
所以我的疑问是:成功的DELETE语句的HTTP状态返回代码究竟是什么?
是204还是200 ?
我知道200意味着我的请求得到了正确的实现但是在线阅读在我看来,我希望它在成功获得GET返回内容之后而不是在删除之后。
在某处我发现204状态是在成功的PUT或DELETE之后获得的 。 这是真的吗? 我无法理解,这意味着响应是空的 ,为什么空响应意味着PUT或DELETE操作成功了?
对于每种方法,HTTP状态代码是正确的,没有严格的规则。 这取决于究竟发生了什么,需要向客户发送什么信息等等。我可以想到几个例子:
一个成功的DELETE
,没有进一步的信息。 204 No Content
一个成功的DELETE
,但您有关于应该删除的相关孤立资源的警告。 200 OK
。
您接受了DELETE
请求,但可能需要很长时间才能以异步方式执行此操作。 客户应该稍后检查。 202 Accepted
。
您接受了DELETE
请求,但无法删除资源,而是将URI重置为默认值。 205 Reset Content
。
空响应主体并不意味着删除成功,成功删除(通常)意味着响应主体为空。
RESTful API没有官方状态代码列表,但大多数人都认为204是成功删除的良好响应代码,因为删除内容后通常没有理由返回响应主体。
通常,如果操作成功并且响应主体为空,则返回204.如果操作是成功的并且响应主体不为空,则返回200
空响应并不意味着操作成功,HTTP错误代码应该指示成功/失败,并且响应主体可能包含数据,也可能不包含数据。
响应主体可以包含关于请求的附加信息,例如,要显示给UI的特定消息,关于信息的统计信息或定时信息等等。 但它没有必要 ,身体的目的是信息/诊断,如果它存在。
2xx表示请求成功。 xx只允许您更具体地了解发生的事情(服务器执行或返回的内容)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.