Я пытаюсь передать объект через HTTP-запрос PUT
, используя следующий код.Как сделать запрос PUT с Apache Olingo?
public ClientEntity createEntity(URI absoluteUri,
ClientEntity ce) {
ODataEntityCreateRequest<ClientEntity> request = client
.getCUDRequestFactory().getEntityCreateRequest(absoluteUri, ce);
request.setAccept("application/json;odata.metadata=minimal");
ODataEntityCreateResponse<ClientEntity> response = request.execute();
return response.getBody();
}
Функция getEntityCreateRequest
, однако, только создает POST
запрос и не позволяет (насколько я знаю), никаких изменений использованного HttpMethod
.
К сожалению, ODataEntityUpdateRequest
тоже не вариант, потому что этот запрос только позволяет HttpMethod
PATCH
или REPLACE
.
В документации я нашел функцию setMethod(HttpMethod method)
, но этот метод доступен только для сервера, а не для реализации клиента (https://olingo.apache.org/javadoc/odata4/org/apache/olingo/server/api/ODataRequest.html).
Далее я обнаружил setUseXHTTPMethod(boolean value)
, который туннелей PUT, MERGE, PATCH, DELETE
через POST
. Я проверил конфигурацию своего клиента, чтобы убедиться, что isUseXHTTPMethod
- false
, что и есть. (Ссылка на функции: https://olingo.apache.org/javadoc/odata4/org/apache/olingo/client/api/Configuration.html)
Следовательно, мне интересно, как сделать запрос PUT
с Apache Olingo?
Благодарим вас за ввод.
Еще раз большое спасибо. Это решает проблему. :) –