2016-06-13 2 views
1

Я использую HTTP-клиент Apache v 4.3.4. Как отправить данные JSON на URL-адрес с помощью метода PATCH? Я попытался этоКак использовать библиотеку Apache HttpClient для отправки запроса PATCH с данными JSON?

// 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

Вы выбрали объект HttpPatch - это импликация, отличная от HttpUriRequest в вашем коде.

Интерфейс HttpUriRequest не поддерживает метод setEntity так что вам нужно бросить:

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