Я строю один API, который разбит на страницы, его вывод выглядит следующим образом:
{
"content": [
{JSON1},
{JSON2},
...
{JSON20}
],
"pageable": {
"sort": {
"sorted": true,
"unsorted": false,
"empty": false
},
"offset": 0,
"pageSize": 20,
"pageNumber": 0,
"unpaged": false,
"paged": true
},
"totalPages": 2,
"totalElements": 32,
"last": false,
"size": 20,
"number": 0,
"sort": {
"sorted": true,
"unsorted": false,
"empty": false
},
"numberOfElements": 20,
"first": true,
"empty": false
}
Итак, для этого вызова у меня есть две страницы, и по одной на каждой странице у нас будет 20 сущностей JSON.
Я хотел вызвать ту же самую конечную точку из шаблона остальных.
До разбивки на страницы я использовал для вызова той же конечной точки, как это:
MyEntity[] responseEntity;
HttpHeaders requestHeaders = new HttpHeaders();
requestHeaders.set("Accept", MediaType.APPLICATION_JSON_VALUE);
// request entity is created with request headers
HttpEntity<MyEntity> requestEntity = new HttpEntity<>(requestHeaders);
Map<String, String> params = new HashMap<>();
params.put("feild1", val1);
params.put("feild2", val2);
responseEntity = restTemplate.getForObject(ApiEndpoint,MyEntity[].class,params);
Поскольку конечная точка возвращалась в форматеиз массива MyEntity, приведенный выше код достаточно хорош. Теперь у меня есть конечная точка отдыха с разбивкой на страницы.
Как мне вызвать конечную точку с разбивкой на страницы и снова получить данные массива MyEntity?
До сих пор я пытался вызывать с: это не работает для меня.
UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(ApiEndpoint);
for (Map.Entry<String, String> entry : params.entrySet()) {
builder.queryParam(entry.getKey(), entry.getValue());
}
ResponseEntity<MyEntity[]> response = restTemplate.exchange(builder.toUriString(), HttpMethod.GET, requestEntity, MyEntity[].class);
Дайте мне знать, можно ли здесь реализовать другой способ. Заранее благодарны за Вашу помощь.