当我尝试将非标准 HTTP 方法(如 PATCH 与 URLConnection)一起使用时:
HttpURLConnection conn = (HttpURLConnection) new URL("http://example.com").openConnection();
conn.setRequestMethod("PATCH");
我得到一个例外:
java.net.ProtocolException: Invalid HTTP method: PATCH
at java.net.HttpURLConnection.setRequestMethod(HttpURLConnection.java:440)
使用像 Jersey 这样的更高级别的 API 会产生相同的错误。是否有发出 PATCH HTTP 请求的解决方法?
原文由 kavai77 发布,翻译遵循 CC BY-SA 4.0 许可协议
是的,有解决方法。利用
.此标头可用于 POST 请求以“伪造”其他 HTTP 方法。只需将 X-HTTP-Method-Override 标头的值设置为您要实际执行的 HTTP 方法。所以使用下面的代码。