Постраничная загрузка данных
Все данные в API отдаются постранично. Ответы с данными единообразные, меняется только содержание параметра results.
Параметры запроса
page_size (для /api/search/experiences параметр называется per_page) - число объектов на страницу. По-умолчанию: 10. Максимум: 100.
format формат выдачи, по умолчанию api – для ознакомления с API, для промышленного использования: json
Пример: https://experience.tripster.ru/api/experiences/?page_size=20&format=json
Структура ответа
{
"count": 3736,
"next": "https://experience.tripster.ru/api/experiences/?page=2",
"previous": null,
"results": []
}
Описание ответа
Параметр | Описание | Тип |
---|---|---|
count | Количество объектов в ответе | Число |
next | Ссылка на следующую страницу API с ответом, если есть | Строка или null |
previous | Ссылка на предыдущую страницу API с ответом, если есть | Строка или null |
results | Массив объектов с результатами | Массив |
Использование
Используйте параметр page_size для указания числа ответов на страницу, данные будут выдаваться постранично. Используйте параметр sorting для задания сортировки там, где это применимо (Например, в API каталога экскурсий).
Далее вы можете:
Синхронизировать постраничную выдачу у себя на сайте с постраничной загрузкой данных через API: когда у вас запрашивают первую страницу выдачи, запрашивать через API эту же страницу.
Выгрузить все данные к себе, опрашивая API постранично с помощью параметра next. При получении ответа проверяйте парамертр next, если в нем строка – то используйте ее как ссылку для загрузки следующей страницы данных, если в ней null, значит следующей страницы нет и вы загрузили все данные
Пример постраничной загрузки
Посмотрите на нашу реализацию в классе Tripster API для PHP