RESTful-Konventionen weisen darauf hin, dass mehrere Substantive über einzelnen Objekten verwendet werden.
Was ist die Pluralisierungskonvention zum Benennen von ASP.NET MVC-Controllern, dh
ProductController
oder ProductsController
?
RESTful-Konventionen weisen darauf hin, dass mehrere Substantive über einzelnen Objekten verwendet werden.
Was ist die Pluralisierungskonvention zum Benennen von ASP.NET MVC-Controllern, dh
ProductController
oder ProductsController
?
Antworten:
Einige MVC-Frameworks verwenden Pluralformen. Die MVC-Projektvorlagen enthalten jedoch einen Controller namens AccountController, der eine einzelne Benennung vorschlägt.
Es spielt keine Rolle. Wie bei den meisten Dingen im Asp.net MVC-Framework liegt die Wahl bei Ihnen. Es gibt keine wirklichen Konventionen.
Es ist meine persönliche Meinung, aber was zählt, ist, dass Sie ein Schema auswählen und konsequent sind!
Ich werde mit den vorherigen Antworten nicht einverstanden sein müssen, entweder Plural oder Singular zu verwenden und konsistent zu sein. Jeder Controller sollte eine andere Konvention verwenden, je nachdem, ob er mit einer oder mehreren Entitäten interagiert. Zumal der Controller-Name standardmäßig in der URL verwendet wird.
Während die Projektvorlagen Singular verwenden (HomeController, AccountController), gibt es nur ein Home und die Kontoaktionen werden nur für das einzelne Konto der Sitzung ausgeführt. Ich würde weder erwarten, dass die URLs von / home auf die Homepage zugreifen, noch würde ich erwarten, dass ich zu / accounts gehe, um meine Kontoeinstellungen zu verwalten.
Der Plural HomesController würde für eine Immobilienwebsite funktionieren, die Methoden zum Auflisten und Durchsuchen mehrerer Häuser enthält: / Homes / New-Listings.
UsersController
sinnvoll, wenn Sie Ihre Routen wie /api/users
(alle Benutzer) und /api/users/{userId}
(Einzelbenutzer) gestalten
/api/user/{userId}
genauso sinnvoll, könnten Sie argumentieren, dass Ihr Controller selbst im Fall des Umgangs mit mehreren Benutzern den Entitätstyp widerspiegelt und somit HomeController
Entitäten des Typs behandelt Home
, daher /Home/{homeId}
und/Home/All-Homes/
Wenn Sie einen Controller mithilfe des MVC-Gerüsts für eine Entity Framework-Entität hinzufügen, wird der Controller-Name in VS2013 pluralisiert. Daher würde ich vorschlagen, diesen Standard zu verwenden, der Controller für Entitäten pluralisiert.
UPDATE: Ich habe es mir anders überlegt. LouD ist richtig. Dies hängt vom Kontext des Controllers ab.