Постраничная загрузка данных

 

Все данные в 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