java.net.ProtocolException: HTTP 方法 DELETE 不支持输出

java.net.ProtocolException: HTTP method DELETE doesn't support output

我在使用 jersey-client-1.19 时遇到此错误。我所做的所有谷歌搜索都指向 HttpUrlConnection 中的错误或不必要的限制,尤其是在 java 7.

中 有人建议我搬到 java 8,我现在还没准备好。

我已经听说过将所有参数传输到 path 的建议,但这对我不起作用,因为 API 要求我将某些身份验证详细信息作为 json请求正文。

我已经看过几个与这个问题相关的答案,包括 . which suggests explicitely defining Apache's httpclient for jersey. So I thought there should be a standard integration of jersey-client-1.19 with Apache httpclient in the back which is indeed confirmed by Paul Sandoz answer。但是他提供的所有链接都已关闭。

有谁知道任何此类集成,或者我如何才能解决这个问题?

对于仍然面临此问题的任何人,我正在添加对我有用的热修复程序。基本上,我们决定将 HTTP DELETE 请求作为 POST 发送,以便我们能够添加请求主体,并在 JSON 主体中添加一个额外的 {"delete":true} 字段。仅当正在处理 REST 服务的团队是同一个团队,或者您准备好在后端添加相应的检查时,这才有效。