В общем, ничего лучше этого не придумал
//Обертка ресурса
.factory('res', function ($resource) {
return {
sql: function (url, paramDefaults, actions) {
var actionDefaults = {
add: {method: 'PUT'},
query: {method: 'POST', isArray: true}
}
return $resource(url, paramDefaults, angular.extend(actionDefaults, actions));
},
mongo: function (url, paramDefaults, actions) {
var actionDefaults = {
add: {method: 'PUT'}
}
return $resource(url, paramDefaults, angular.extend(actionDefaults, actions));
}
}
})
.factory('Users', function (res) {
return res.mongo('action.php/user/:userId', {userId: '@id'})
})
.factory('City', function (res) {
return res.sql('action.php/city/:cityId', {cityId: '@id'})
})