Reputation: 51
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?
Upvotes: 1
Views: 183
Reputation: 51
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
Upvotes: 1