TGViewer
GetAnalyst - Навыки • Системный анализ • Бизнес-анализ GetAnalyst - Навыки • Системный анализ • Бизнес-анализ @getanalysts · 22.5K subscribers
Post #2392 5.01K
📑 Элементы пагинации в REST API: что это, когда нужно, примеры 📑

Когда мы работаем со списками в REST API, почти всегда рекомендуется использовать элементы пагинации (pagination).

Элементы пагинации позволяют реализовывать постраничную выдачу данных. Другими словами, разбивать большие объемы данных на маленькие части.

Это нужно, чтобы не загружать с сервера за один запрос весь миллион записей из БД, а делать это порциями. Такое решение экономит трафик.


Ключевые параметры пагинации (допустимы другие названия):

◽️ limit — максимальное количество записей, которые хотим получить в ответе. Query-параметр.
Альт. названия: size.
◽️ offset — смещение, с которого начинается выборка данных. Query-параметр.
Альт. названия: page, cursor.
◽️ count — общее количество записей по запросу. Возвращается в ответе, в body (JSON), вместе со списком, в запросе не передаётся.
Альт. названия: total.


Пример получения списка рецептов в #RecipeGA:

GET https://recipe-ga.com/api/users-app/2.1/recipes

Этот запрос вернет список всех рецептов.

Но что, если в БД сохранено 10 000 рецептов? Получать все за раз?
Кажется, это перебор. Никакой пользователь не будет реально читать весь этот объем данных.
Поэтому лучше получать список по частям.
👉 Вот здесь и пригодятся limit и offset!

Допустим, нужно получать по 12 рецептов за запрос:

🔸 1-й запрос: получить первые 12 рецептов
GET https://recipe-ga.com/api/users-app/2.1/recipes?limit=12&offset=0

🔸 2-й запрос: еще 12 рецептов
GET https://recipe-ga.com/api/users-app/2.1/recipes?limit=12&offset=12

🔸3-й запрос: еще 12 рецептов
GET https://recipe-ga.com/api/users-app/2.1/recipes?limit=12&offset=24

Так мы можем получать данные частями, что значительно упрощает работу с большим количеством записей.


👉 Зачем это нужно?
1. Удобство отображения: Не все данные нужно отображать сразу, особенно если их очень много.
2. Оптимизация: Запросы с меньшим количеством данных обрабатываются быстрее и требуют меньше ресурсов.


Запоминаем и пользуемся, почти по всех API есть пагинация 🙂

#RestApiGA
  • 👍 35
  • 🔥 10
  • ❤ 5
  • ❤‍🔥 3
More from @getanalysts
  1. Oct 3, 2026🎁🚀 GetAnalyst сегодня на Стачке: ищите Юлию и забирайте подарки Похоже, у GetAnalyst офи…
  2. Oct 2, 2026📌 [Доступ открыт до 6 октября] Асинхронная интеграция с ИИ-сервисом 📌 Один сквозной кейс…
  3. Oct 1, 2026🎓 Системный аналитик: с нуля до опыта работы на проекте [начинаем сегодня] 🎓 Сегодня, 1…
  4. Oct 1, 2026💫😱 IT никогда не станет прежним. Из-за AI. Несколько главных мыслей с The AI Conference…
  5. Sep 30, 2026🐞 HTTP-ошибки в интеграциях с внешними системами: как их обрабатывать 🐞 Что делать, если…
  6. Sep 29, 2026🔖 5 архитектурных стилей API, которые важно знать аналитику 📡 API определяет, как именно…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →