Как я могу показать разбиение на страницы для REST API с использованием формата HAL, следует ли просто обернуть все в другом объекте с форматированием HAL с метаданными разбиения на страницы или?Как показать REST API HAL формат pagination
Есть ли предлагаемый формат разбиения на страницы в формате REST API HAL?
ОБНОВЛЕНИЕ
Пример без пагинацией
[
{
"Id": "SomeId",
"Attribute": 5,
"_links": {
"User": { "href": "http://mywebapi/etc", "templated": true }
},
"_embedded": { "User": { "Id": "SomeId","_links": {},"_embedded": {}} }
},
{
"Id": "SomeId",
"Attribute": 5,
"_links": {
"User": { "href": "http://mywebapi/etc", "templated": true }
},
"_embedded": { "User": { "Id": "SomeId","_links": {},"_embedded": {}} }
}
]
Пример с пагинацией
{
"_embedded": {
"items":
[
{
"Id": "SomeId",
"Attribute": 5,
"_links": {
"User": { "href": "http://mywebapi/etc", "templated": true }
},
"_embedded": { "User": { "Id": "SomeId","_links": {},"_embedded": {}} }
},
{
"Id": "SomeId",
"Attribute": 5,
"_links": {
"User": { "href": "http://mywebapi/etc", "templated": true }
},
"_embedded": { "User": { "Id": "SomeId","_links": {},"_embedded": {}} }
}
]},
"_links": {
"next": "next link",
"previous": "next link"
},
"_totalCount": "100"
}
Это это хорошая практика или нет?
Как насчет общего количества записей? Должен ли я помещать его только в _links обернутого объекта или мне не нужен обернутый объект? – khorvat
@khorvat Не уверен, что вы подразумеваете под «обернутым объектом», но ваш пример выглядит хорошо для меня. Вероятно, необходимо добавить ссылку на объект _links в объекте корневого ресурса и в ваших встроенных ресурсах. Также массив следует называть «item» not «items». Имя представляет отношение ссылки к встроенным ресурсам в массиве. «item» - стандартизованное отношение ссылок, зарегистрированное в IANA. –
ну, я новичок в HAL, поэтому я все еще все выясняю. Обернутым объектом я просто имел в виду объект верхнего уровня json, содержащий __embedded_, _item_ & __links_ ... У меня есть я и несколько других ссылок в моем реальном представлении HAL, поэтому я думаю, что все объяснено. – khorvat