自定义资源方法的URL未得到遵守

时间:2013-10-27 17:02:04

标签: angular-resource

我正在努力列出一份人员名单。我的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提出请求。

我做错了什么?

1 个答案:

答案 0 :(得分:1)

我正在使用angular-resource 1.0.7,其中没有实现URL覆盖。它是在此拉取请求中实现的:https://github.com/angular/angular.js/pull/1890

切换到1.1.5版解决了这个问题。