2012-04-30 11 views
11

que tienen este tipo de recursos: var Products = $resource('companies/:companyId/products') El problema es que me gustaría conseguir los productos de todas las empresas por url companies/products, pero el uso de recursos y no proporcionar CompanyID estoy recibiendo companies//products. Probablemente podría usar otra url, como solo /products, pero ¿significa que tengo que tener otro recurso para la misma cosa?parámetros URL opcional en AngularJS Recursos

En este caso simple podría cambiar la URL a companies/products/:companyId, pero parece ser un caso bastante general.

Respuesta

13

Sí, actualmente necesita definir otro $ recurso.

Pero se puede envolver varias instancias de recurso $ en un único servicio si quieres ...

app.factory('mergedRes', function($resource) { 
    var r1 = $resource('/companies/:companyId/products'); 
     r2 = $resource('/companies/products'); 

    r1.getAll = r2.query.bind(r2); 

    return r1; 
}); 
+0

lo que si quieres cadena de 3 recursos de diferencia, ¿cómo se vería eso? – abstractpaper

+0

He intentado con esta solución, pero aún muestra los productos '/ companies // products 'de r1, incluso si' companyId' está vacío. – abstractpaper

Cuestiones relacionadas