Средний
Как правильно реализовать пагинацию (Pagination) в REST API?
Пагинация передается через Query-параметры. Есть два основных подхода:
1. Offset-пагинация (Смещение):
Использует параметры limit (сколько взять) и offset (сколько пропустить).
Пример: GET /users?limit=20&offset=40 (вернет 3-ю страницу).
Плюс: Легко реализовать. Минус: Медленно на больших таблицах, возможны дубли при добавлении новых строк.
2. Cursor-пагинация (Ключевая):
Использует указатель на последнюю запись.
Пример: GET /users?limit=20&after_id=150.
Плюс: Работает мгновенно по индексу БД, нет дублей. Идеально для бесконечной ленты (Infinite Scroll).