我试图做一个HTTP PATCH请求,但我总是得到404错误,所以也许我的连接设置不正确:
URL url = new URL("MyPath"); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setDoOutput(true); conn.setRequestProperty("X-HTTP-Method-Override", "PATCH"); conn.setRequestProperty("Content-Type", "application/json"); conn.setRequestProperty("Accept", "application/json"); conn.setRequestMethod("POST"); JsonObject jo = createMyJson(); OutputStreamWriter out = new OutputStreamWriter(conn.getOutputStream()); out.write(jo.toString()); out.close(); System.out.println(conn.getResponseCode()); System.out.println(conn.getResponseMessage());
我得到了404错误,找不到。 当使用邮差做同样的请求,这是工作..谢谢你的帮助。
并非所有服务器都支持X-HTTP-Method-Override
。 在这种情况下,你最后的手段是(如果你不使用体面的HTTP客户端)来破解URLConnection
对象。
我在这里发布了一个完整的解决方案,检查出来。