Я хочу создать REST-совместимую конечную точку в Spring. Предполагается, что конечная точка допускает разбиение на страницы.
Запрос довольно прост, GET to url / resource? Page = 1 & pageSize = 20. Проблема заключается в запросе.
Я нашел 2 больших способа возврата данных:
- Возвращает пользовательский объект, содержащий:
{
"page": 1,
"pageSize": 20,
"content": [
{...},
{...}
...
]
}
Проблема этого метода в том, что он больше не возвращает ресурс, а возвращает оболочку для ресурса.
Установить пользовательский заголовок X-Total-Count, когда вы даете ответ от бэкэнда:
[
{...},
{...}
...
]
Это решает проблему с ресурсами, но затрудняет использование конечной точки, что противоречитинтуитивно понятный, поскольку для его реализации также требуется дополнительная работа.
Я хотел бы знать, какие стандарты более широко используются и почему? Что такое «новый» подход к этому? От чего мне держаться подальше? Есть ли способ удовлетворить обе потребности?
Заранее спасибо!