【问题标题】:How do I use the Apache HttpClient library to submit a PATCH request with JSON data?如何使用 Apache HttpClient 库提交带有 JSON 数据的 PATCH 请求?
【发布时间】:2016-10-14 10:22:12
【问题描述】:

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

【问题讨论】:

    标签: json httpclient apache-httpcomponents http-patch


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2013-06-19
      • 2023-03-04
      • 1970-01-01
      • 1970-01-01
      • 2016-10-25
      • 1970-01-01
      • 2011-05-09
      • 1970-01-01
      相关资源
      最近更新 更多