TGViewer
GetAnalyst - Старт карьеры в IT • Системный аналитик • Бизнес-аналитик GetAnalyst - Старт карьеры в IT • Системный аналитик • Бизнес-аналитик @getanalyststart · 5.16K subscribers
Post #2897 768
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


#hardGetAnalyst
  • 🔥 6
  • ❤ 5
  • ⚡ 1
More from @getanalyststart
  1. Sep 29, 2026Для начинающего IT-специалиста или всех тех, кому становится тесно в рамках текущих обязан…
  2. Sep 28, 2026🎓 Системный аналитик: с нуля до опыта работы на проекте [старт 2 октября] 🎓 Давно хотите…
  3. Sep 28, 2026С началом новой рабочей недели 👌
  4. Sep 25, 2026🔥❤️‍🔥🎉 Вау-вау-вау! Вот это мы отметили! 4 часа практики, море вопросов, десятки схем и…
  5. Sep 24, 2026😂👍👍❤️👌😅😊😊😍😘 ❗️До начала 15 минут❗️ 🧡 «Асинхронная интеграция с ИИ-сервисом: от а…
  6. Sep 24, 2026❗️Уже через 3 часа встречаемся онлайн❗️ 👩‍💻 Открытый практикум с Екатериной Ананьевой 🔥…
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 →