TGViewer
GetAnalyst - Навыки • Системный анализ • Бизнес-анализ GetAnalyst - Навыки • Системный анализ • Бизнес-анализ @getanalysts · 22.6K subscribers
Post #2850 4.47K
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
  • ❤ 36
  • 🔥 17
  • ❤‍🔥 4
  • 👍 3
More from @getanalysts
  1. Oct 9, 2026⚡️ Contract First API в эпоху ИИ-агентов: OpenAPI, AsyncAPI, MCP на практике 🤖 Сначала со…
  2. Oct 8, 2026🧩 Как ИИ-агент собирает корзину во ВкусВилле: погружаемся в MCP 🤖 Представьте, что вы пи…
  3. Oct 7, 2026📦 Batch-интеграции: что делать, если обработалась только часть данных? 📦 Batch-интеграци…
  4. Oct 5, 2026🔣🔣 Бесплатный практикум по асинхронной интеграции с ИИ — только ДО ЗАВТРА 🔡🔡 📌 Полезн…
  5. Oct 5, 2026🅰️🔠 API Gateway и AI Gateway: в чём разница? API Gateway уже стал привычным компонентом…
  6. Oct 4, 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 →