GET unconventional JSON with Ember-data

梦想的初衷 提交于 2019-12-23 02:29:24

问题


I am working with Ember 1.5.1 and Ember-data 1.0 beta and I am using the DS.RESTADAPTER CLASS. I have two models, let say Post and User. The server replies at a GET request with the following JSON

{
  data: [ .... ]
}

data is an array of users or posts depending on the request.

The RestAdapter is designed around the idea that the JSON exchanged with the server should be conventional, and it expects the JSON returned from your server should look like this

{
  posts: [ .... ]
}

or

{
  users: [ .... ]
}

depending on the request.

How to customize ember-data to handle such situation?


回答1:


I was able to handle the situation described on the above question by means of a customization of the extractArray method

// override extractArray method 
App.PostSerializer = DS.RESTSerializer.extend({
  extractArray: function(store, type, payload, id, requestType) {
    var myposts = payload.data;
    var newpayload = { posts: myposts };
    return this._super(store, type, newpayload, id, requestType);
  }
});

The following resources have been very helpful:

https://github.com/emberjs/data/blob/master/TRANSITION.md#rest-adapter-and-serializer-configuration http://emberjs.com/api/data/classes/DS.RESTSerializer.html#method_extractArray



来源:https://stackoverflow.com/questions/23699678/get-unconventional-json-with-ember-data

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!