Comment faire pour ne pas envoyer l'url des paramètres de modèle avec le corps de la requête dans angulaire?
Supposons que j'ai un ensemble de ressources comme ceci:
resource = $resource(
"http://foo.com/service/:type/:id",
{},
{save: {method:'PUT', params: {type:'@type', id: '@id'}}}
);
resource.save({type:'user', id:14, name:'Bob Dole'});
Est-il de toute façon je ne peux empêcher type
et id
de soumis dans le cadre de la demande du corps, et juste envoyer name
METTRE de la charge utile? Je n'ai pas de contrôle sur les API, je remets, et il ne semble pas comme les paramètres supplémentaires, je suis de l'envoyer.
Merci!
Mise à jour - 10/25/13 - 13:38
La documentation pour ressources dit ceci:
Si la valeur du paramètre est précédé de la lettre @ la valeur de ce paramètre est extraite à partir de l'objet de données (utile pour les non-OBTENEZ des opérations).
Qui implique que cela devrait supprimer les paramètres à partir des données:
resource.save({type:'@user', id:'@14', name:'Bob Dole'});
mais il ne semble pas fonctionner. Toujours à perte.
- C'est un grand temps de deviner; mais Lors de l'utilisation de $HTTP, vous pouvez ajouter une fonction de transformation de modifier la demande. Pouvez-vous faire la même chose avec $ressource?
- Merci - qui ne fonctionne pas! Voir ci-dessus pour ma solution. Cependant, les docs parler d'une manière plus facile, qui doit travailler, mais ne le fait pas.
- Vous devriez poster votre solution formelle de la réponse [AKA Répondre à votre propre question]. Ça va aider les gens qui se trouver à l'avenir.
Vous devez vous connecter pour publier un commentaire.
Utiliser le premier paramètre de l'url des paramètres de modèle et de mettre vos données de postes dans le second paramètre comme ceci:
Voici la ligne de la Angulaire docs qui affiche la signature de la fonction:
non-GET "classe" les actions: la Ressource.action([paramètres], postData, [succès], [erreur])
Voici un exemple dans plunker
La demande, vous obtenez n'ont pas les paramètres de l'url dans le corps:
FWIW, je n'ai trouver une solution de contournement, grâce à @Reboog711, en incluant un transformRequest paramètre comme ceci: