json 分页资源应该是什么样子的?

How is a json paginated resource supposed to look like?

使用 Ember 数据和 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

的解释

或者,分页链接(即 prevnextfirstlast)是否应该在 meta.page 中?

您可以使用 ember-cli-pagination 及其格式进行分页。我很确定 Ember 数据确实 严格遵循 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。

Ember 数据未严格遵循 JSON 规范,因此您应该更加专注于根据 ED 需要设置 JSON。我会亲自将 'links' 信息移动到元标记中。否则 Ember-Data 将尝试将它们放入名为 'links' 的模型中,这可能不是您想要的。如果您确实打算将它们存储在单独的 'links' 模型中,那么您所拥有的就可以了。