100

RESTful 约定表示在单数对象上使用复数名词。

命名 ASP.NET MVC 控制器的复数约定是什么,即
ProductControlleror ProductsController

4

3 回答 3

194

我将不得不不同意以前使用复数或单数并保持一致的答案。每个控制器都应该根据它们是与单个实体还是多个实体交互来使用不同的约定。特别是因为默认情况下在 URL 中使用控制器名称。

虽然项目模板使用单数(HomeController、AccountController),但只有一个 Home,并且 Account 操作仅对会话的单个帐户进行操作。我不希望 /homes 的 URL 访问主页,也不希望转到 /accounts 来管理我的帐户设置。

复数 HomesController适用于具有与列出和搜索多个房屋相关的方法的房地产网站:/homes/new-listings。

于 2015-08-12T15:03:48.590 回答
48

一些 MVC 框架使用复数,但是 MVC 项目模板包含一个名为 AccountController 的控制器,因此建议使用单数命名。

没关系。与 Asp.net MVC 框架中的大多数内容一样,选择权在您手中。没有真正的约定。

这是我个人的意见,但重要的是你选择一个方案并保持一致!

于 2012-09-17T15:45:24.163 回答
13

当您使用 MVC 脚手架为实体框架实体添加控制器时,VS2013 将控制器名称设为复数,因此我建议使用使实体控制器复数的默认值。

更新:我改变了主意。大声是正确的。这取决于控制器的上下文。

于 2014-04-23T14:58:43.107 回答