我目前正在享受潜入Ember并学习完整的前端MVC解决方案。
目前,我有点难以从我们的API获取数据,因为它不符合Ember's Adapter所要求的标准。目前,由于第三方应用程序的依赖性,我们的团队无法更改API / JSON响应的结构。
RESTAdapter正在寻找像这样的JSON:
{
'episodes' : [
{
id : '1',
title : 'my first title'
}
]
}
不幸的是,我们回来的是一个数组,每个剧集作为一个对象,即它不能是具有对象数组值的键。
[
{
id : 1,
title : 'my first title'
},
{
id : 2,
title : 'my second title'
}
]
有人可以提供有关如何扩展DS.RESTAdapter以遵循此格式的帮助吗?
同样,我们的服务器开发人员无法更改API,因此我们必须按原样接受JSON响应。
由于
答案 0 :(得分:1)
在序列化程序中覆盖extractArray。然后,您可以修改有效负载以匹配正在查找的余烬数据。
App.ApplicationSerializer = DS.RESTSerializer.extend({
extractArray: function(store, type, payload){
var plural = Ember.String.pluralize(type.typeKey),
fixed = {};
fixed[plural] = payload;
return this._super(store, type, fixed);
}
});