Вопрос проверяет понимание параметров пагинации, передаваемых на сервер для постраничной загрузки данных.
При постраничной загрузке данных на сервер передаются параметры, которые определяют, какую часть данных нужно вернуть. Наиболее распространены два подхода: page/limit и offset/limit.
При использовании page/limit: GET /api/items?page=2&limit=10 — запрос второй страницы по 10 элементов. Сервер вычисляет offset = (page - 1) * limit.
При использовании offset/limit: GET /api/items?offset=10&limit=10 — пропустить первые 10 элементов и вернуть следующие 10.
Часто вместе с пагинацией передаются параметры сортировки (sort, order) и фильтрации (например, category, search). Это позволяет серверу вернуть уже отфильтрованные и отсортированные данные.
app.get('/api/items', (req, res) => {
const page = parseInt(req.query.page) || 1;
const limit = parseInt(req.query.limit) || 10;
const offset = (page - 1) * limit;
const items = db.query('SELECT * FROM items LIMIT ? OFFSET ?', [limit, offset]);
const total = db.query('SELECT COUNT(*) FROM items');
res.json({ data: items, total, page, limit });
});Пагинация с параметрами page/limit или offset/limit — стандартный способ организации постраничной загрузки данных в REST API. Она позволяет эффективно передавать большие объёмы данных, уменьшая нагрузку на сервер и клиент.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию