我可以在Ember Data上使用普通(rails默认)JSON响应吗?

时间:2015-03-19 15:37:41

标签: json api ember.js ember-data

我正在使用Ember / Ember-Data处理项目,并且有一个相关/现有服务,它提供带有JSON响应的API。

我的项目必须与该服务进行交互,但该API的响应如下所示:

{ "id": 39402, "name": "My Name" }

[ {"id": 38492, "name": "Other Name" } ]

person:可兼容的回复不需要persons:Ember-Data

如何在Ember-Data上使用此响应而无需更改服务或没有构建API网关?

1 个答案:

答案 0 :(得分:1)

Ember-Data使用DS.RestAdapterDS.RESTSerializer使用从DS.JSONSerializer扩展的extract来序列化,提取和按摩来自服务器的数据。

因为在您的情况下,您已经拥有了有效负载中的数据,所以您需要为读取所做的一切都是JSONSerializer覆盖ember-cli方法非常简单。

如果您使用的是person.js(您应该:),那么位于app/serializers目录中的import DS from 'ember-data'; export default DS.JSONSerializer.extend({ extract: function(store, primaryType, payload) { return payload; } }); 文件将如下所示。

ember-cli

如果您未使用App.PersonSerializer = DS.JSONSerializer.extend({ extract: function(store, primaryType, payload) { return payload; } }); ,则可以执行以下操作:

{{1}}