Как должен выглядеть ресурс с разбивкой на страницы json?

С Ember Data и Jsonapi. Как должен выглядеть ресурс с разбивкой на страницы json?

Я построил свой ответ, чтобы он выглядел так:

"meta": {
  "page": {
    "number": 1,
    "size": 5,
    "total": 39
  }
},
"links": {
  "self": "http://localhost:3099/api/v1/articles",
  "prev": null,
  "next": "http://localhost:3099/api/v1/articles?page[number]=2",
  "first": "http://localhost:3099/api/v1/articles?page[number]=1",
  "last": "http://localhost:3099/api/v1/articles?page[number]=39"
},
"data": [
  ...
]

Но я не совсем уверен, что это правильный формат. на основе пояснений на http://jsonapi.org/format/#fetching-pagination

Или ссылки на страницы (т.е. prev, next, first и last) должны быть в meta.page?


person Christian Fazzini    schedule 09.08.2015    source источник


Ответы (2)


Вы можете использовать ember-cli-pagination и его формат для разбиения на страницы. Я почти уверен, что Ember Data не строго следует спецификации JSON API.

На основе вашего образца это может быть формат:

{
  "meta": {
    "total_pages": 3,
    "page": 1
  },

  "articles": [
    {"id": 1, "title": "Hello World", "body": "More to Come"},
    // ......
  ]
}

URL запроса этой полезной нагрузки может быть http://localhost:3099/api/v1/articles?page=1. См. API для получения дополнительной информации.

person Jonathan Chan    schedule 09.08.2015

Ember Data не следует строго спецификации JSON, поэтому вам следует больше сосредоточиться на настройке JSON с тем, что нужно ED. Я бы лично переместил информацию о «ссылках» в метатег. В противном случае Ember-Data попытается поместить их в модель под названием «ссылки», что может быть не тем, что вам нужно. Если вы намерены хранить их в отдельной модели «ссылок», то то, что у вас есть, в порядке.

person SeanK    schedule 10.08.2015