TGViewer
GetAnalyst - Навыки • Системный анализ • Бизнес-анализ GetAnalyst - Навыки • Системный анализ • Бизнес-анализ @getanalysts · 22.6K subscribers
Post #2587 5.15K
[GetAnalyst] REST API - Пагинация.png577.6 KB
🎯 6 способов пагинации в REST API 🎯

Когда мы получаем списки через API, то получать весь миллион записей сразу - плохая идея. Лучше получать по частям — порциями.

Пагинация — отвечает за порционное получение данных в REST API.

Помогает:
✔️ не перегружать как сервер, так и клиента API;
✔️ ускорить отклик на запрос;
✔️ пользователю не надо ждать данных вечность.


👇 6 способов пагинации на примере получения списка пользователей:

🔹 Offset
И
спользуются параметры смещения (offset) и ограничения (limit) для определения начальной точки и количества возвращаемых записей.
GET /users?offset=0&limit=3

✅ Простая в реализации
✅ Подходит, когда данных немного
➖ Неэффективна при больших offset: система перебирает все записи, чтобы дойти до нужных


🔹 Page
И
спользуются номер и размер каждой страницы для переключения между ними.
GET /users?page=2&size=10

✅ Привычно для пользователей (страницы)
✅ Подходит, когда пользователь реально листает страницы
➖ Проблемы те же, что у offset


🔹 Cursor
И
спользуется курсор (id записей в БД) для обозначения позиции в наборе данных.
GET /users?cursor=123

✅ Быстрая и надёжная при больших объёмах данных.
✅ Часто используют в соцсетях, чатах и платежных системах из-за постоянного потока новых данных.


🔹 Keyset
И
спользуется ключ для фильтрации набора данных. Часто это первичный ключ или другой индексированный столбец.
GET /users?afterId=123&limit=3

✅ Быстрая при больших данных
✅ Подходит для бесконечной прокрутки (infinite scroll)
➖ Требует уникального и индексированного поля (обычно ID)


🔹 Time
И
спользуются временные метки или дата для разбиения записей на страницы.
GET /users?startTime=...&endTime=...

✅ Идеальна для систем, где данные привязаны ко времени: логи, события, аналитика


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

➖ Чуть сложнее реализовать
➖ Может путать клиентов API


#RestApiGA #MeetsGA
  • 🔥 23
  • ❤ 8
  • 👍 7
  • ❤‍🔥 1
More from @getanalysts
  1. Oct 13, 2026❌🙅‍♀️🙅‍♂️ Что системному аналитику НЕ нужно уметь в работе с логированием и мониторингом…
  2. Oct 12, 2026📊🔥 Grafana, Kibana, OpenTelemetry: какие инструменты наблюдаемости нужны системному анал…
  3. Oct 11, 2026Мы так заняты тем, что ещё не получилось, что забываем радоваться тому, как далеко уже заш…
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 →