Supponiamo che io sono una risorsa impostato in questo modo:Come faccio a non inviare i parametri del modello di url con il corpo della richiesta in angolare?
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'});
C'è un modo posso impedire type
e id
di essere presentato come parte del corpo della richiesta, e basta inviare name
nel payload PUT? Non controllo l'API a cui mi sto sottoponendo e sembra che non mi piacciano i parametri extra che sto inviando.
Grazie!
Aggiornamento - 10/25/13 - 13:38
La documentazione per resource dice questo:
Se il valore del parametro è preceduto da @ allora il valore di quel parametro viene estratto dall'oggetto dati (utile per operazioni non GET).
Questo implica che questo dovrebbe per rimuovere i parametri sulla base dei dati:
resource.save({type:'@user', id:'@14', name:'Bob Dole'});
ma non sembra funzionare. Ancora in perdita.
Questa è una grande ipotesi; ma quando si usa $ HTTP; è possibile aggiungere una funzione di trasformazione per modificare la richiesta. Puoi fare la stessa cosa con $ resource? – JeffryHouser
Grazie - funziona! Vedi sopra per la mia soluzione. Tuttavia, i documenti menzionano un modo più semplice che dovrebbe funzionare, ma non lo fa. –
Dovresti pubblicare la tua soluzione come risposta formale [AKA Rispondi alla tua domanda]. Aiuterà le persone che troveranno in futuro. – JeffryHouser