Java REST中成功删除语句的HTTP状态返回代码是什么?
我正在研究Spring如何处理RESTWeb服务(但我不知道这是一个与Spring相关的答案,还是更一般地说,它只与REST概念相关) 所以我的疑问是:成功的DELETE语句的HTTP状态返回代码到底是什么 是204还是200 我知道200表示我的请求得到了正确的满足,但在我看来,在线阅读似乎是在成功获取返回内容后,而不是在删除之后 在某处,我发现204状态是在之后获得的Java REST中成功删除语句的HTTP状态返回代码是什么?,java,spring,web-services,rest,spring-mvc,Java,Spring,Web Services,Rest,Spring Mvc,我正在研究Spring如何处理RESTWeb服务(但我不知道这是一个与Spring相关的答案,还是更一般地说,它只与REST概念相关) 所以我的疑问是:成功的DELETE语句的HTTP状态返回代码到底是什么 是204还是200 我知道200表示我的请求得到了正确的满足,但在我看来,在线阅读似乎是在成功获取返回内容后,而不是在删除之后 在某处,我发现204状态是在之后获得的 成功放置或删除。这是真的吗?我不明白,这意味着响应是空的,为什么空响应意味着PUT或DELETE操作成功?空响应正文并不意味
成功放置或删除。这是真的吗?我不明白,这意味着响应是空的,为什么空响应意味着PUT或DELETE操作成功?空响应正文并不意味着删除成功,成功删除(通常)意味着响应正文是空的 RESTful API没有官方的状态代码列表,但大多数人都同意204是成功删除的良好响应代码,因为通常没有理由在删除某些内容后返回响应正文 通常,如果操作成功且响应主体为空,则返回204。如果操作成功且响应正文不为空,则返回200空响应并不意味着操作成功,HTTP错误代码应指示成功/失败,响应正文可能包含数据,也可能不包含数据
响应主体可以包含关于请求的附加信息,例如,要向UI显示的特定消息、关于该信息的统计信息或定时信息,等等。但是它不必这样做,如果存在,主体的目的是提供信息/诊断。2xx表示请求成功。xx只允许您更具体地说明发生了什么(服务器做了什么或正在返回什么)。没有严格的规则规定HTTP状态代码是每个方法的正确代码。这取决于到底发生了什么,您需要向客户发送什么信息等。我可以想出几个例子:
- 成功的
,无进一步信息<代码>204无内容删除
- 成功的
,但是您有一个关于相关孤立资源的警告,该资源也应该删除<代码>200正常删除
- 您接受了
请求,但这可能需要很长时间,您将异步执行此操作。客户应该稍后检查它<代码>202已接受DELETE
- 您接受了
请求,但无法删除该资源,而是将URI重置为默认值<代码>205重置内容DELETE