Я хочу поддерживать разбивку на страницы в моем RESTful API.
Мой API-метод должен вернуть список продуктов JSON через /products/index
. Тем не менее, есть потенциально тысячи продуктов, и я хочу их просматривать, поэтому моя просьба должна выглядеть примерно так:
/products/index?page_number=5&page_size=20
Но каков должен быть мой ответ JSON? Потребители API обычно ожидают метаданные разбиения на страницы в ответе? Или нужен только набор продуктов? Почему?
Похоже, что API Twitter включает метаданные: https://dev.twitter.com/docs/api/1/get/lists/members (см. Пример запроса).
С метаданными:
{
"page_number": 5,
"page_size": 20,
"total_record_count": 521,
"records": [
{
"id": 1,
"name": "Widget #1"
},
{
"id": 2,
"name": "Widget #2"
},
{
"id": 3,
"name": "Widget #3"
}
]
}
Просто массив продуктов (без метаданных):
[
{
"id": 1,
"name": "Widget #1"
},
{
"id": 2,
"name": "Widget #2"
},
{
"id": 3,
"name": "Widget #3"
}
]