RESTful约定表示在单数对象上使用复数名词。
命名ASP.NET MVC控制器(即
ProductController
or )的复数约定是什么ProductsController
?
Answers:
一些MVC框架使用复数形式,但是MVC项目模板包含一个称为AccountController的控制器,因此建议使用单数命名。
没关系 与Asp.net MVC框架中的大多数内容一样,选择就是您自己。没有真正的约定。
这是我个人的看法,但重要的是您选择一个方案并保持一致!
我将不得不不同意使用复数或单数且保持一致的先前答案。每个控制器应基于与单个或多个实体进行交互而使用不同的约定。特别是因为默认情况下URL中使用了控制器名称。
虽然项目模板使用单数形式(HomeController,AccountController),但是只有一个Home,并且Account操作仅在会话的单个帐户上运行。我不希望/ homes的URL访问主页,也不希望访问/ accounts来管理我的帐户设置。
复数HomesController将工作的房地产网站,有相关的上市和搜索多个家庭的方法:/家庭/新上市。
UsersController
如果你设计的路线就像是有道理的/api/users
(所有用户)和/api/users/{userId}
(单用户)
/api/user/{userId}
让同样多的感觉,虽然,你可能会说,即使在处理多用户的情况下,你的控制反映了实体类型,从而HomeController
将处理类型的实体Home
,因此,/Home/{homeId}
和/Home/All-Homes/