2

使用 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的解释

或者,分页链接(即prevnext和)是否应该在 中?firstlastmeta.page

4

2 回答 2

1

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

于 2015-08-10T16:59:51.397 回答
1

您可以使用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。

于 2015-08-09T16:30:24.350 回答