Средний
Как передавать метаданные (например, общее количество страниц) при пагинации в REST?
Когда клиент запрашивает список (GET /users?page=1&limit=20), ему нужен не только массив юзеров, но и метаданные (всего записей, всего страниц), чтобы отрисовать UI-пагинатор.
Два подхода:
1. В теле ответа (Envelope / Обертка): Самый частый подход.
{
"data": [{...}, {...}],
"meta": {
"total_items": 150,
"total_pages": 8,
"current_page": 1
}
}
2. В HTTP-заголовках: Тело ответа содержит чистый массив
[{...}, {...}], а метаданные передаются в кастомных заголовках ответа (например, X-Total-Count: 150). Это более "RESTful", но менее удобно для фронтенда.