Не дожидаясь ответа, рад сообщить. Я догадался. Видимо сильно кое где зудило... и так:
1. Возможно я направил свои и ваши мысли в неверно русло и не совсем корректно изложил задачу.
2. Оказывается $resource на то и ресурс, он же источник, единый и есть на самом деле. И у него есть действия action в которых можно настроить url и параметры! Вот оно!
И выглядит это так:
app.constant('baseUrl', 'http://myrest/v1/users');
app.factory('Users', ['$http', '$rootScope', '$resource', '$location', 'toaster', 'baseUrl',
function ($http, $rootScope, $resource, $location, toaster, baseUrl) {
var itemsResource = $resource(baseUrl + "/" + ":id", {id: '@id'}, {
// тот самый custom action
paginationQuery: {
method: 'GET',
params: {pp: 3, p: 1},
url: baseUrl + "?page=:p&per-page=:pp",
isArray: true
}
});
var currentItem = {};
var items = [];
function getItems() {
var promise = itemsResource.paginationQuery().$promise;
promise.then(fulfilled, rejected)
function fulfilled(data) {
items = data;
$rootScope.$broadcast('items:updated');
}
function rejected(data) {
console.log(data);
}
}
}
В итоге код работает как надо. Источник один общий. Действия delete save и тд работают стандартно.
Однако есть просьба. Помогите код сделать по-красивее, а то местами выглядит не очень. Я еще только учусь.