Как читать данные в ответ на операцию POST, используя клиент jersey (RestFull)
В моем клиентском Java-приложении я обращаюсь к URL-адресу конечной точки и могу получить ответ, но это в HTML-коде!.
Метод: сообщение
resource.accept(MediaType.APPLICATION_JSON_TYPE);
WebResource resource = Client.create().resource(
communicatorVO.getTargetURL());
String **response** = resource.queryParams(communicatorVO.getFormData()).type(MediaType.APPLICATION_JSON_TYPE).post(String.class, gson.toJson(communicatorVO.getRequestObject()));
Объект ответа всегда содержит HTML-код! Как получить актуальные данные?
Если я пытаюсь использовать Chrome Restful Client, я получаю ответ ниже.
{"access_token": "YOUR_NEW_ACCESS_TOKEN", "token_type": "bearer", "expires_in": 10800, "refresh_token": "YOUR_REFRESH_TOKEN", "scope": "write read offline_access"}
1 ответ
Решение
Проблема была решена.
Я добавил type & accept в одну строку, и он начал возвращать ожидаемый ответ json. Теперь я могу разобрать JSON в любой объект Java.
Код:
response = resource.type(MediaType.APPLICATION_FORM_URLENCODED_TYPE).accept(MediaType.APPLICATION_JSON_TYPE).post(ClientResponse.class, communicatorVO.getFormData());;