次の形式でデータを返す API があります (tastypie を使用):
{"meta":{
"limit": 20,
"next": null,
"offset": 0,
"previous": null,
"total_count": 4},
"objects": [
{
"id": 1,
"name": "name1",
"resource_uri": "/api/v1/operator/1",
"short_name": "NA1"
},
{
"id": 2,
"name": "name2",
"resource_uri": "/api/v1/operator/2",
"short_name": "NA2"
},
...
]
}
したがって、リソースを機能させるには、次を使用する必要があると考えました。
var Operator = $resource('http://127.0.0.1:8080\:8080/api/v1/operator/:operatorId',
{operatorId:'@id'},
{
query: {
method: 'GET',
transformResponse: function (data) {
console.log(JSON.parse(data).objects)
return JSON.parse(data).objects;
},
isArray: true
}
});
しかし、 isArray を true に設定すると、次のエラーが発生しました。
TypeError: Object #<g> has no method 'push'
isArray を false に設定した場合、エラーは発生しませんが、オブジェクトにはこのリクエストのすべてのメタデータも含まれています...
この $resource 機能を正しく理解しているかどうかわかりません