我正在使用一个遵循JSON规范的API。
http://jsonapi.org/我正在使用ngResource构建一个Ionic应用程序,resource.query()方法期望响应是一个数组:
[
{
"id": 1,
"foo": "bar"
},
{
...
}
]但是JSON规范传递嵌套在data属性下的内容:
{
"data": [
{
"id": 1,
"foo": "bar"
},
{
...
}
]
}我如何能够自动地对来自API的响应进行后处理以满足ngResource的期望呢?
发布于 2015-06-10 06:12:42
查看transformResponse和拦截器对象。
https://docs.angularjs.org/api/ngResource/service/$resource
编辑:添加代码
$provide.factory('myHttpInterceptor', function($q, dependency1, dependency2) {
return {
'response': function(response) {
response.data = response.data.data;
return response;
}
};
});
$httpProvider.interceptors.push('myHttpInterceptor');发布于 2015-06-10 06:14:33
编辑:
如下面所示,默认情况下构建查询方法是为了处理数组。
{ 'get': {method:'GET'},
'save': {method:'POST'},
'query': {method:'GET', isArray:true},
'remove': {method:'DELETE'},
'delete': {method:'DELETE'}
};var config = { method:'GET', isArray: false };
var url = 'http://jsonapi.org';
$resource(url, {}, {query: config});想了解更多细节。请检查https://docs.angularjs.org/api/ngResource/service/$resource
https://stackoverflow.com/questions/30748289
复制相似问题