Как с помощью JAX-RS собрать массив данных, возвращаемых службой API, в список объектов Java?
Как правильно получить список объектов из службы API с помощью JAX-RS?
Среда: Helidon (MP 1.4.4), Java 8. Служба внешнего API возвращает массив объектов. Paper
это POJO.
Client client = ClientBuilder.newClient();
...
...
public List<Paper> getPapers() {
return client
.target(REST_URI)
.request(MediaType.APPLICATION_JSON)
.header("api-key", "xxxxxx")
.get(new GenericType<List<Paper>>() { });
}
Ошибка:
javax.ws.rs.client.ResponseProcessingException: javax.json.bind.JsonbException: Can't deserialize JSON array into: class java.lang.String
1 ответ
Вы должны использовать массивы вместо . Конечно, вы все еще можете преобразовать массив вList
или любой другой тип коллекции, если вам нужно.
public Paper[] getPapers() {
return client
.target(REST_URI)
.request(MediaType.APPLICATION_JSON)
.header("api-key", "xxxxxx")
.get(Paper[].class);
}