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
ProductController
-à- dire ou ProductsController
?
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
ProductController
-à- dire ou ProductsController
?
Réponses:
Certains cadres MVC utilisent des pluriels, mais les modèles de projet MVC contiennent un contrôleur appelé AccountController, suggérant ainsi une dénomination singulière.
Cela n'a pas d'importance. Comme pour la plupart des éléments du framework Asp.net MVC, le choix vous appartient. Il n'y a pas de vraies conventions.
C'est mon opinion personnelle mais ce qui compte, c'est que vous choisissiez un schéma et soyez cohérent!
Je vais devoir être en désaccord avec les réponses précédentes concernant l'utilisation du pluriel ou du singulier et la cohérence. Chaque contrôleur doit utiliser une convention différente selon qu'il interagit avec une ou plusieurs entités. D'autant que le nom du contrôleur est utilisé par défaut dans l'URL.
Alors que les modèles de projet utilisent le singulier (HomeController, AccountController), il n'y a qu'un seul Home et les actions de compte ne fonctionnent que sur le seul compte pour la session. Je ne m'attendrais pas à ce que les URL de / homes accèdent à la page d'accueil, ni à accéder à / accounts pour gérer les paramètres de mon compte.
Le pluriel HomesController serait travailler pour un site Web immobilier qui avait des méthodes liées à l' inscription et la recherche: plusieurs maisons / maisons / nouvelles inscriptions.
UsersController
est logique si vous concevez vos itinéraires comme /api/users
(tous les utilisateurs) et /api/users/{userId}
(utilisateur unique)
/api/user/{userId}
n'aurait pas autant de sens cependant, vous pourriez faire valoir que même dans le cas de plusieurs utilisateurs, que votre contrôleur reflète le type d'entité, donc HomeController
traiterait des entités de type Home
, par conséquent /Home/{homeId}
et/Home/All-Homes/
Lorsque vous ajoutez un contrôleur à l'aide de l'échafaudage MVC pour une entité Entity Framework, VS2013 rend le nom du contrôleur au pluriel, je suggère donc d'utiliser cette valeur par défaut qui rend les contrôleurs pour les entités au pluriel.
MISE À JOUR: j'ai changé d'avis. LouD a raison. Cela dépend du contexte du contrôleur.