Я новичок в Angualrjs, и я пытаюсь понять этот код... так выглядит служба
var userGroupServices = angular.module('userGroupServices', ['ngResource']);
userGroupServices.factory('UserRoles', ['$resource', function ($resource) {
var r1 = $resource('/api/UserRoles/:UserRoleId', null, {
'update': { method: 'PUT' },
'delete': { method: 'DELETE' }
});
r2 = $resource('/api/UserRoles', null, {
'add': { method: 'POST' },
'getRoles': { method: 'GET' }
});
r3 = $resource('/api/UserRoles/GetRolesByGroupType/:groupTypeName', null, {
'getRolesByName': {method:'GET'}
});
r1.getAll = r2.getRoles.bind(r2);
r1.add = r2.add.bind(r2);
r1.getRolesByName = r3.getRolesByName.bind(r3);
return r1;
}]);
Почему это в конце концов, вы связываете переменные r2 и r3 с переменной r1? как я могу использовать эту фабрику для POST, я пытаюсь опубликовать ее так, но ничего не сделал (в моем контроллере)...
addService.addRole({ roleName: groupTypeName });
Я думаю, что причина, по которой ресурсы 2 и 3 объединяются и возвращаются ресурсом 1, - это отвлечь эти другие ресурсы от тех, кто хочет использовать службу UserRoles. Теперь вам не нужно знать, сколько ресурсов требуется службе для работы.
Что касается сообщений, то.addRole(), похоже, не существует в вашей службе. Попробуйте UserRoles.add({object}).