following some examples, it appears that we can inject a factory which would contain an endpoint for a rest service like so
services.factory('Recipe', ['$resource', function($resource) { return $resource('/recipes/:id', {id: '@id'}); }]);
This looks great, but imagine I have other endpoints i.e. /users/:id, and /groups/:id, as you can imagine the number of different endpoints are going to increase.
So it is good practice to have a different factory for each endpoint so having ..
services.factory('Recipe', ['$resource',............ services.factory('Users', ['$resource',............. services.factory('Groups', ['$resource',...............
Or is there another recommended way ?
I really don't see an issue with it but its going to force me to create a lot of factories just for dealing with the different endpoints.
Any help or guidance really apprecaited
Thanks
It's a matter of preference.
But nothing prevents you from consolidating all your resources inside one factory as in:
services.factory('Api', ['$resource', function($resource) { return { Recipe: $resource('/recipes/:id', {id: '@id'}), Users: $resource('/users/:id', {id: '@id'}), Group: $resource('/groups/:id', {id: '@id'}) }; }]); function myCtrl($scope, Api){ $scope.recipe = Api.Recipe.get({id: 1}); $scope.users = Api.Users.query(); ... }
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With