web-dev-qa-db-fra.com

Pluralisation de la dénomination du contrôleur ASP.NET MVC

Les conventions RESTful indiquent l'utilisation de noms pluriels sur des objets singuliers.

Quelle est la convention de pluralisation pour nommer les contrôleurs ASP.NET MVC, c'est-à-dire.
ProductController ou ProductsController?

77
Petrus Theron

Certains cadres MVC utilisent des pluriels, mais les modèles de projet MVC contiennent un contrôleur appelé AccountController, suggérant ainsi un nom unique.

Ça n'a pas d'importance. Comme pour la plupart des éléments du framework Asp.net MVC, vous avez le choix. Il n'y a pas de véritables conventions.

C'est mon opinion personnelle mais ce qui compte, c'est de choisir un schéma et d'être cohérent!

40
Cybermaxs

Je vais devoir être en désaccord avec les réponses précédentes d'utiliser le pluriel ou le singulier et être cohérent. Chaque contrôleur doit utiliser une convention différente selon qu'il interagit avec une ou plusieurs entités. D'autant plus que le nom du contrôleur est utilisé par défaut dans l'URL.

Alors que les modèles de projet utilisent un singulier (HomeController, AccountController), il n'y a qu'un seul accueil et les actions de compte ne fonctionnent que sur le compte unique de la session. Je ne m'attendrais pas à ce que les URL de/homes accèdent à la page d'accueil, et je ne m'attendrais pas à aller à/accounts pour gérer mes paramètres de compte.

Le pluriel HomesController serait travailler pour un site Web immobilier qui avait des méthodes liées à l'inscription et à la recherche de plusieurs maisons:/homes/new-listings.

130
LouD

Lorsque vous ajoutez un contrôleur à l'aide d'un échafaudage MVC pour une entité Entity Framework, VS2013 rend le nom du contrôleur pluriel, donc je suggère d'utiliser cette valeur par défaut qui rend les contrôleurs pour les entités plurielles.

MISE À JOUR: J'ai changé d'avis. LouD a raison. Cela dépend du contexte du contrôleur.

12
RitchieD