Я пытаюсь добавить простой метод на угловом ресурсе, в основном, как это:Угловой ресурс пользовательского URL
/API/ресурс /: идентификатор/архив
Если я делаю это так же, как это:
angular.module('myApp')
.factory('api', function($resource) {
var api = {
messages: $resource('/api/messages/:id', {id: '@id'}
, {
archive: {
method: 'PUT'
, params: {id: '@id'}
, url: '/api/messages/:id/archive'
}
}
return api;
})
.controller('myCtrl', function(api) {
// once I get messages and do stuff...
$scope.archive = function(msg) {
api.messages.archive({id: msg._id}, successHandler, failureHandler);
}
});
это не работает, я получаю простую PUT (*/api/messages/{id}*)
. Я попробовал это с другим параметром.
В заводе:
....
archive: {
method: 'PUT'
, params: {id: '@id', action: '@action'}
, url: '/api/messages/:id/:action'
....
В контроллере:
api.messages.archive({id: msg._id, action: 'archive'} ...)
я получаю второй из параметров в качестве запроса парам, а не как часть URL.