我有这个REST服务,它与LDAP服务器说话。为了获得有关用户的所有可用数据,我必须访问:
GET /users/:userId
因为LDAP中的用户是由属性描述的,所以我想只获得一些并非所有属性。在这种情况下必须这样做:
GET /users/:userId/o/mail/displayName/....(list of attributes required)
如何在使用AngularJS $ resource时为属性列表创建此动态URL?
.factory('User', ['$resource', 'REST_API_URL', function ($resource, REST_API_URL) {
var User = $resource(
REST_API_URL + '/users/:id',
{id: '@id'}
);
return User;
}])
答案 0 :(得分:2)
您描述的第一个URL遵循RESTful约定,但不是第二个。当URI中有动作动词(此处为displayName)时,您的API不再是RESTful。
AngularJS $resource仅与RESTful服务器端数据源进行交互。您的API必须遵循许多RESTful约定。
我建议你read answers to this question高度相关并描述这些惯例。
由于您的API不符合这些条件,因此您必须基于较低级$http service构建自己的类资源CRUD服务。 (example here)