使用Java的HttpUrlConnection PATCH请求

时间:2016-09-15 14:53:47

标签: java json apache http

我正在尝试执行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错误,未找到。当使用Postman执行相同的请求时,这是有效的.. 谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

并非所有服务器都支持X-HTTP-Method-Override。在这种情况下,您的最后一招(如果您没有使用体面的HTTP客户端)来破解URLConnection对象。

我发布了一个完整的解决方案here on SO,请查看。