Соглашения RESTful указывают на использование существительных во множественном числе вместо объектов единственного числа.
Каково соглашение о множественном числе для именования контроллеров ASP.NET MVC, т.е.
ProductController
или ProductsController
?
asp.net-mvc
naming-conventions
pluralize
asp.net-mvc-controller
Петрус Терон
источник
источник
Ответы:
Некоторые платформы MVC используют множественное число, однако шаблоны проектов MVC содержат контроллер с именем AccountController, что предполагает использование единственного числа.
Неважно. Как и в большинстве случаев в фреймворке Asp.net MVC, выбор за вами. Нет настоящих условностей.
Это мое личное мнение, но важно то, что вы выбираете схему и будьте последовательны!
источник
Мне придется не согласиться с предыдущими ответами об использовании множественного или единственного числа и согласованности. Каждый контроллер должен использовать свое соглашение в зависимости от того, взаимодействуют ли они с одним или несколькими объектами. Тем более, что имя контроллера по умолчанию используется в URL.
В то время как шаблоны проектов используют единственное число (HomeController, AccountController), существует только один Home, и действия Account работают только с одной учетной записью для сеанса. Я бы не ожидал, что URL-адреса / homes будут иметь доступ к домашней странице, и я не ожидал бы перехода в / accounts для управления настройками моей учетной записи.
Множественное число HomesController будет работать для веб-сайта недвижимости, на котором есть методы, связанные с перечислением и поиском нескольких домов: / homes / new-listings.
источник
UsersController
имеет смысл, если вы разрабатываете свои маршруты как/api/users
(все пользователи) и/api/users/{userId}
(один пользователь)/api/user/{userId}
сделать столько же смысл , хотя, можно утверждать , что даже в случае работы с несколькими пользователями, что ваш контроллер отражает тип объекта, таким образом ,HomeController
будет иметь дело с сущностями типаHome
, следовательно ,/Home/{homeId}
и/Home/All-Homes/
Когда вы добавляете контроллер с использованием шаблонов MVC для сущности Entity Framework, VS2013 делает имя контроллера множественным, поэтому я бы предложил использовать это значение по умолчанию, которое делает контроллеры для сущностей множественным.
ОБНОВЛЕНИЕ: я передумал. LouD правильный. Это зависит от контекста контроллера.
источник