Reputation: 522
$resource gives me nightmares. Right now I have something like this in my service:
makeCall: function(auth, data, new, old){
return this.resource(auth).putRequest({id: data.id, thing1: new, thing2: old}).$promise
}
resource: function(auth){
return(
$resource(config.url, {id: '@id'}, {
putRequest: {
method: 'PUT',
params: {thing1: '@thing1', thing2: '@thing2'},
url: config.url + '/user/:id/update'
headers: {authorization: auth}
})
);
This sends a PUT request to the url as requested, with the id parameter being set correctly. However, the problem is that id also appears in the payload, when the payload needs to only consist of thing1 and thing2.
Upvotes: 0
Views: 42
Reputation: 6739
When calling a resource you can specify the urlParams and the formBody Params like so
resource(auth).putRequest({id: data.id}, {thing1: new, thing2: old}).$promise
The first Parameter is the urlParams and the second is the formBody, for more information look at the documentation
Upvotes: 1