我必须为API输出JSON构建一个angularjs客户端,如下所示:
{
"count": 10,
"next": null,
"previous": "http://site.tld/api/items/?start=4"
"results": [
{
"url": "http://site.tld/api/items/1.json",
"title": "test",
"description": "",
"user": "http://site.tld/api/users/4.json",
"creation_datetime": "2013-05-08T14:31:43.428"
},
{
"url": "http://site.tld/api/items/2.json",
"title": "test2",
"description": "",
"user": "http://site.tld/api/users/1.json",
"creation_datetime": "2013-05-08T14:31:43.428"
},
{
"url": "http://site.tld/api/items/3.json",
"title": "test3",
"description": "",
"user": "http://site.tld/api/users/2.json",
"creation_datetime": "2013-05-08T14:31:43.428"
}
]
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能将$resource它映射到这个?如果我使用isArray=false,我会将整个blob作为一个对象,可用于阅读,但我无法调用.put()它.如果我使用isArray,它只是不起作用.
有没有干净的方法来做到这一点?或者我应该回去使用$http?
AngularJS在调用支持它们的外部数据资源时是否具有Limit和Offset请求方法?
我想有一个比这更优雅的解决方案,我通过routeParams传递限制和偏移:
function ListCtrl($scope, $http, $routeParams) {
$http.jsonp('http://www.example.com/api/list.jsonp?callback=JSON_CALLBACK&limit=' + $routeParams.limit + '&offset=' + $routeParams.offset,{callback: 'JSON_CALLBACK'}).success(function(data) {
$scope.list = data;
});
}
Run Code Online (Sandbox Code Playgroud)