Я использую следующий код для использования вызова GET в Spring Boot и сохраняю результат в виде JSON.Однако я могу получить только 100 записей, что является размером страницы по умолчанию для API.Как получить все данные (все страницы)?
public static void getData(String baseDir, String baseURI, String headerFieldName, String headerFieldValue) {
RestTemplate restTemplate = new RestTemplate();
HttpHeaders headers = new HttpHeaders();
headers.setAccept(Arrays.asList(MediaType.APPLICATION_JSON));
headers.add(headerFieldName, headerFieldValue);
HttpEntity<String> entity = new HttpEntity<String>(headers);
String data = restTemplate.exchange(baseURI + HttpMethod.GET, entity, String.class).getBody();
dataWriter(data, baseDir + File.separator + File.separator + ".json");
}
private static void dataWriter(final String data, final String filePath)
{
try {
Files.write(Paths.get(filePath), data.getBytes());
}
catch (final IOException e) {
e.printStackTrace();
}
}
Где:
baseURI = www.xxxxxx.com/records
headerFieldName имеет значение «Авторизация», а headerFieldValue содержит маркер доступа.
Набор данных содержит около 18000 записей.
После вызова API я получаю следующий ответ, где count - это количество записей в ответе.
{
"count": 18000,
"data": [{
"id": "96d8-3024739ed555",
.....
.....
},
{
"id": "8595-0a27472aef0e",
.....
.....
}
...
....
]
}
Есть ли способ, где я могу получить только поле "count"?Который я могу затем использовать для зацикливания и получения всех записей из «данных».
Спасибо!