Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java REST中成功删除语句的HTTP状态返回代码是什么?_Java_Spring_Web Services_Rest_Spring Mvc - Fatal编程技术网

Java REST中成功删除语句的HTTP状态返回代码是什么?

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操作成功?空响应正文并不意味

我正在研究Spring如何处理RESTWeb服务(但我不知道这是一个与Spring相关的答案,还是更一般地说,它只与REST概念相关)

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

204还是200

我知道200表示我的请求得到了正确的满足,但在我看来,在线阅读似乎是在成功获取返回内容后,而不是在删除之后

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

空响应正文并不意味着删除成功,成功删除(通常)意味着响应正文是空的

RESTful API没有官方的状态代码列表,但大多数人都同意204是成功删除的良好响应代码,因为通常没有理由在删除某些内容后返回响应正文

通常,如果操作成功且响应主体为空,则返回204。如果操作成功且响应正文不为空,则返回200

空响应并不意味着操作成功,HTTP错误代码应指示成功/失败,响应正文可能包含数据,也可能不包含数据


响应主体可以包含关于请求的附加信息,例如,要向UI显示的特定消息、关于该信息的统计信息或定时信息,等等。但是它不必这样做,如果存在,主体的目的是提供信息/诊断。

2xx表示请求成功。xx只允许您更具体地说明发生了什么(服务器做了什么或正在返回什么)。

没有严格的规则规定HTTP状态代码是每个方法的正确代码。这取决于到底发生了什么,您需要向客户发送什么信息等。我可以想出几个例子:

  • 成功的
    删除
    ,无进一步信息<代码>204无内容

  • 成功的
    删除
    ,但是您有一个关于相关孤立资源的警告,该资源也应该删除<代码>200正常

  • 您接受了
    DELETE
    请求,但这可能需要很长时间,您将异步执行此操作。客户应该稍后检查它<代码>202已接受

  • 您接受了
    DELETE
    请求,但无法删除该资源,而是将URI重置为默认值<代码>205重置内容


200-成功响应/204-无身体的成功响应。这几乎是普遍正确的,不管操作如何。另请参阅。。。(也许是迂腐,但我不同意第一句话。)此外,如果您的响应数据使用错误代码200或202为空,在javascript中,“then”将不接受您的响应。