Acording с документацией, метод getEntity в Jax rs 2.0 возвращает InputStream. Если необходимо преобразовать в InputStream для Строкового представления с форматом JSON, необходимо бросить эти два формата. Например, в моем случае, я реализовал следующий метод:
private String processResponse(Response response) {
if (response.getEntity() != null) {
try {
InputStream salida = (InputStream) response.getEntity();
StringWriter writer = new StringWriter();
IOUtils.copy(salida, writer, "UTF-8");
return writer.toString();
} catch (IOException ex) {
LOG.log(Level.SEVERE, null, ex);
}
}
return null;
}
, почему я реализовал этот метод. Поскольку чтение в блогах differets, что многие разработчики у них есть та же проблема с версией в jaxrs использование следующих методов
String output = response.readEntity(String.class)
и
String output = response.getEntity(String.class)
первые работы с помощью клиента свитера из com.sun.jersey библиотеки и второго найденного использования клиента свитера от org.glassfish.jersey.core.
Это - ошибка, которая представлялась мне: org.glassfish.jersey.client.internal. 2 HttpUrlConnector$ не могут быть брошены к java.lang. Строка
я использую следующую зависимость знатока:
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
<version>2.28</version>
то, Что я не знаю, - то, почему readEntity метод не работает. Я надеюсь, что можно использовать решение.
Carlos Cepeda
Понимание пересмотра кода, я нашел причину того, почему метод чтения не работал на меня. Проблема состояла в том, что одна из зависимостей, что мой проект использовал свитер 1.x. Обновите версию, скорректируйте клиент, и она работает.
я использую следующую зависимость знатока:
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
<version>2.28</version>
Отношения
Carlos Cepeda