【发布时间】:2017-06-20 23:22:15
【问题描述】:
尝试HttpURLConnection Invalid HTTP method: PATCH的其他解决方案后
我收到无效的 HTTP 方法:JAVA 7 的 PATCH 异常。 更新 JAVA 不是选项,所以我必须坚持解决方法。
我正在使用 Invocation 来调用这样的请求
Invocation invoke = reqBuilder.build(getHTTPVerb(), Entity.entity(requestJSON, MediaType.APPLICATION_JSON));
getWebTarget().request(MediaType.APPLICATION_JSON).header("Authorization", getAuthorization()).accept(MediaType.APPLICATION_JSON);
getHTTPVerb() 返回字符串“POST”或“PATCH”。
使用 PATCH 方法我遇到了问题。
在提到的问题中,我没有尝试过一种解决方案:
conn.setRequestProperty("X-HTTP-Method-Override", "PATCH");
conn.setRequestMethod("POST");
conn 是 HttpURLConnection 实例。
但我不确定如何从 Invocation 类或任何属性中获取 HttpURLConnection。
任何指点或帮助将不胜感激。
【问题讨论】:
-
您是否尝试过stackoverflow.com/questions/25163131/… 中建议使用来自httpcomponents 的HttpClient 的解决方案?另见hc.apache.org/httpcomponents-client-ga/httpclient/apidocs/org/…
-
HttpURLConnection只是不支持PATCH。您必须使用不同的 HTTP 库。 -
@Redlab 是的,我试过了,我在我的问题中也提到了相同的帖子。
-
httpcomponents 的 HttpPatch 可以解决问题....
标签: java http httpurlconnection java-7