Reputation: 117
i'm trying to generate this url using ngResource in angularjs:
http://url_api/contact/58dc70f18e029b1338a97abc/address/58e3e3988e029a1aec5ad465
but instead i'm getting this:
http://url_api/contact/58dc70f18e029b1338a97abc/address?address_id=58e3e3988e029a1aec5ad465
This is my factory
factory('Addresses', function($resource) {
return $resource(url_base + 'contact/:id/address',{},{
get: {
method: 'GET',
isArray: true,
url: url_base + 'contact/:id/address'
},
save:{
method: 'POST'
},
delete:{
method: 'DELETE',
url: url_base + 'contact/:id/address/:addressId',
// params:{
// id: '@_id',
// addressId: '@_addressId'
// }
}
});
})
and this is how i call it later
Addresses.delete({id:$scope.id_contact,address_id:address_id_delete})
Please could anyone help me? I'm in a hurry
Upvotes: 0
Views: 49
Reputation: 48948
The parameters in the url template need to match parameters in the call:
delete:{
method: 'DELETE',
url: url_base + 'contact/:id/address/:addressId',
// params:{
// id: '@_id',
// addressId: '@_addressId'
// }
}
//WRONG address_id
//Addresses.delete({id:$scope.id_contact,address_id:address_id_delete})
//RIGHT addressId
Addresses.delete({id:$scope.id_contact,addressId:address_id_delete})
Upvotes: 0
Reputation: 7911
You need to mention your params
in the empty object you have. Like this:
factory('Addresses', function($resource) {
return $resource(url_base + 'contact/:id/address',{
id: '@id',
addressId: '@addressId'
},{
get: {
method: 'GET',
isArray: true,
url: url_base + 'contact/:id/address'
},
save:{
method: 'POST'
},
delete:{
method: 'DELETE',
url: url_base + 'contact/:id/address/:addressId',
// params:{
// id: '@_id',
// addressId: '@_addressId'
// }
}
});
})
Upvotes: 1