Для начала вот такой топорный вариант.
Пример из реального приложения, ресурсы создаются по мере надобности только на основании имени.
В рамках моих задач решение меня устраивает полностью, в твоем случае не знаю подойдет ли.
//обьявление
resource.factory("recordResource", function ($resource) {
return function(name){
return $resource('/document/:operation/:name/', {
name:name
},{
'get': {method:'GET',params:{operation:'get'} },
'save': {method:'POST', params:{operation:'save'} }
//....
});
}
});
//использование
//можно указаnь часть параметров еще до вызова get. В примере я указал имя сущности (user) на сервере с которой я хочу взаимодействовать.
a=recordResource('user');
//получим данные из user
a.$get({id:10},function(){
})
Как альтернатива фабрика возвращающий сервисы
Конечно придется перечислить все возвращаемые сервисы в параметрах функции фабрики, но зато все это будет перечислено в одном месте. Вроде бы особых препятствий я не вижу, но возможно я что то упустил из виду. Нужно пробывать короче.