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

How do I use the Apache HttpClient library to submit a PATCH request with JSON data?

我正在使用 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 数据,而不是将其放入名称-值参数对中。

您已在代码中将 HttpPatch 对象隐式转换为 HttpUriRequest。

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

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