我正在努力列出一份人员名单。我的HTTP服务器能够在/person/[id].json
等URL上提供人员的JSON表示,以及/person.infinity.json
的所有人员列表。
所以我有控制器,我已经定义了Person
资源:
var app = angular.module('myApp', ["ngResource"])
.controller('PersonController', function PersonController($scope, $http, $resource) {
var Person = $resource("/person/:personId.json",
{ personId: '@id' },
{ list: {method: "GET", url: "/person.infinity.json", isArray: true}}
);
$scope.persons = Person.list();
});
但是,在调用Person.list()
时,不会使用list
方法(/person.infinity.json
)的自定义网址。 Chrome的网络检查员会发现向/person/.json
发出了请求,即没有参数设置的默认资源网址。
显然,我希望Person.list()
向/person.infinity.json
提出请求。
我做错了什么?
答案 0 :(得分:1)
我正在使用angular-resource 1.0.7,其中没有实现URL覆盖。它是在此拉取请求中实现的:https://github.com/angular/angular.js/pull/1890
切换到1.1.5版解决了这个问题。