Необязательные параметры URL в ресурсе AngularJs
У меня есть такой ресурс: var Products = $resource('companies/:companyId/products')
Проблема в том, что я хотел бы получить продукты всех компаний по url companies/products
, но используя ресурс и не предоставляя companyId, я получаю companies//products
. Вероятно, я мог бы использовать другой URL-адрес, например, только /products
, но означает ли это, что у меня должен быть другой ресурс для одного и того же?
В этом простом случае я мог бы изменить url на companies/products/:companyId
, но это, по-видимому, довольно общий случай.
Ответы
Ответ 1
Да, в настоящее время вам нужно определить другой $resource.
Но вы можете обернуть несколько экземпляров $resource в одну службу, если хотите...
app.factory('mergedRes', function($resource) {
var r1 = $resource('/companies/:companyId/products');
r2 = $resource('/companies/products');
r1.getAll = r2.query.bind(r2);
return r1;
});