如何使用Apache HttpClient库提交带有JSON数据的PATCH请求?

时间:2016-06-13 21:14:11

标签: json apache httpclient patch apache-httpcomponents

我正在使用Apache HTTP客户端v 4.3.4。如何通过PATCH方法将JSON数据提交到URL?我试过这个

    // Create the httpclient
    HttpClient httpclient = HttpClientBuilder.create().build();

    // Prepare a request object
    HttpUriRequest req = null;
    if (method.equals(RequestMethod.PATCH))
    {
        req = new HttpPatch(url);
        req.setHeader("Content-type", "application/json");
        if (jsonData != null)
        {
            final StringEntity stringData = new StringEntity(jsonData.toString());
            req.setEntity(stringData);
        }   // if

但是在“req.setEntity”行中,我收到编译错误,“方法未定义”。请注意,我的请求需要按原样发送JSON数据,而不是将其放入名称 - 值参数对。

1 个答案:

答案 0 :(得分:1)

您已将HttpPatch对象强制转换为代码中的HttpUriRequest。

HttpUriRequest接口不支持setEntity方法,因此您需要强制转换:

((HttpPatch)req).setEntity(stringData);