Пагинация
Статья создана
Обновлена 26 августа 2024 г.
Некоторые методы API поддерживают пагинацию. Пагинация — это свойство, при котором сервер возвращает не все результаты сразу, а частями, по страницам. В основном пагинация используется для метода получения списков — List*
.
Чтобы получить нужную страницу с результатами, в запросе следует передать параметры:
-
page_token
— токен страницы с результатами. Токен следующей страницы можно получить в полеnext_page_token
при получении списка ресурсов (см. пример ниже). -
page_size
— количество результатов на странице. Доступные значения: от 0 до 1000. Значение по умолчанию: 100.
Примеры
gRPC
gRPC-описание метода List
// Метод возвращает список дисков в заданном каталоге.
rpc List (ListDisksRequest) returns (ListDisksResponse) {
option (google.api.http) = { get: "/compute/v1/disks" };
}
message ListDisksRequest {
// Идентификатор каталога.
// Обязательное поле.
string folder_id = 1;
// Максимальное количество результатов на странице.
int64 page_size = 2;
// Токен запрашиваемой страницы с результатами.
string page_token = 3;
}
message ListDisksResponse {
// Список дисков.
repeated Disk disks = 1;
// Токен следующей страницы.
string next_page_token = 2;
}
REST
Пример REST запроса на получение списка дисков в каталоге:
GET https://compute.api.cloud.yandex.net/compute/v1/disks?folderId=a3s17h9sbq5asdgss12&pageToken=1acdeb26078146e6
Ответ:
{
"disks": [
{
"folderId": "de0m97h0gbq0foeuis03",
"createdAt": "2018-08-09T12:54:53+00:00",
"id": "de019dv504rmhoinn3nk",
"name": "development",
"zoneId" : "ru-central1-a",
"typeId" : "network-nvme",
"size" : 5368709120
},
...
],
"nextPageToken": "ae08rgjd5smu4bq5n1o4"
}