URL personnalisée de ressource angulaire
J'essaye d'ajouter une méthode simple sur angulaire de ressources, en gros comme ceci:
/api/ressources/:id/archive
Si je le fais juste comme ça:
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);
}
});
Il ne fonctionne pas, j'obtiens un simple PUT (*/api/messages/{id}*)
. Je l'ai essayé avec un autre param.
Dans l'usine:
....
archive: {
method: 'PUT'
, params: {id: '@id', action: '@action'}
, url: '/api/messages/:id/:action'
....
Dans le contrôleur:
api.messages.archive({id: msg._id, action: 'archive'} ...)
- Je obtenir le deuxième paramètre la requête en tant que param, plutôt que comme une partie de l'url.
source d'informationauteur Zlatko | 2013-11-18
Vous devez vous connecter pour publier un commentaire.
Bien, après j'ai tapé la question, j'ai vu que je ne suis pas en utilisant la dernière angulaire. Angulaire 1.2.0 a ce travail.