45 votes

AngularJS: Création de plusieurs usines pour chaque terminal?

à la suite de certains exemples, il apparaît que l'on peut injecter une usine qui contiendrait un point de terminaison pour un service rest comme

services.factory('Recipe', ['$resource',
     function($resource) {
        return $resource('/recipes/:id', {id: '@id'});
}]);

Cela ressemble beaucoup, mais imaginez que j'ai d'autres points de terminaison c'est à dire /utilisateurs/:id, et /groupes/:id, comme vous pouvez l'imaginer le nombre de différents paramètres vont augmenter.

Donc c'est bien pratique d'avoir une autre usine pour chaque point de terminaison afin d'avoir ..

services.factory('Recipe', ['$resource',............

services.factory('Users', ['$resource',.............

services.factory('Groups', ['$resource',...............

Ou est-il une autre méthode recommandée ?

Je ne vois vraiment pas un problème avec elle mais sa va me forcer à créer un grand nombre d'usines seulement pour les relations avec les différents points de terminaison.

Toute aide ou des conseils vraiment apprecaited

Merci

100voto

Stewie Points 20312

C'est une question de préférence.

Mais rien ne vous empêche de regrouper toutes vos ressources dans une même usine, comme dans:

 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();
  ...
}
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X