如何在Ember2.x中使用json-api分页链接?

How to use json-api pagination links in Ember 2.x?

目前我正在使用 Rails (4.1.0) API 和 Ember (2.1.0) 开发应用程序,我很难在 Ember副业。

Rails API JSON 输出包括自动生成的分页链接(来自 AMS 中的 JSON API 适配器和 Kaminari 分页的组合),如下所示:

"links": {
    "self": "http://example.com/articles?page[number]=3&page[size]=1",
    "first": "http://example.com/articles?page[number]=1&page[size]=1",
    "prev": "http://example.com/articles?page[number]=2&page[size]=1",
    "next": "http://example.com/articles?page[number]=4&page[size]=1",
    "last": "http://example.com/articles?page[number]=13&page[size]=1"
  }

任何人都可以提示我如何获取 Ember-Data 中的这些值,以便在 Ember 模板中使用它们吗?有没有人找到解决此问题的临时解决方法(因为 Ember 可能有一天会完全 JSON API 兼容)?

我们将不胜感激 ;)

参考AMS中JSONAPI适配器与Kaminari分页的组合: https://github.com/rails-api/active_model_serializers/blob/master/docs/howto/add_pagination_links.md

编辑:

在这件事上取得了一些进展后,我想现在问一下比较好:
如何从 Ember?

向 Rails API 请求的参数中传递像 page: { number: x, size: y } 这样的散列

Ember 正在调用描述有效载荷的数据:meta/metadata。希望这对以后的搜索有所帮助。

您只需创建一个序列化程序来拦截来自服务器的有效负载并将 response.links 移动到 Ember 数据的元数据中。

Ember 元数据指南: http://guides.emberjs.com/v2.1.0/models/handling-metadata/

Ember数据API的extractMeta方法: http://emberjs.com/api/data/classes/DS.JSONAPISerializer.html#method_extractMeta

或者,查看您发布的 JSON API link,您甚至可以更改它,以便 link 在 response.meta 中回复。

https://github.com/rails-api/active_model_serializers/blob/master/docs/howto/add_pagination_links.md#json-adapter