I recommend that you use $resource.
It may support (url override) in next version of Angularjs. Then you will be able to code like this:
// need to register as a serviceName
$resource('/user/:userId', {userId:'@id'}, {
'customActionName': {
url:'/user/someURI'
method:'GET',
params: {
param1: '....',
param2: '....',
}
},
....
});
And return callbacks can be handled in ctrl scope like this.
// ctrl scope
serviceName.customActionName ({
paramName:'param',
...
},
function (resp) {
//handle return callback
},
function (error) {
//handler error callback
});
Probably you can handle code on higher abstraction level.
http://stackoverflow.com/questions/11850025/recommended-way-of-getting-data-from-the-server/11850027#11850027