仅仅因为 asp-mvc 的默认控制器具有单数名称,并不意味着您应该为所有控制器实现单数形式。
正确答案是:这取决于您的控制器所代表的资源的默认数量。
Singular,例如AccountController
是单数,因为它表示仅与单个帐户相关的操作(操作方法)。
Plural如果您的控制器至少包含一种在单个请求中处理多个资源的操作方法。
复数格式示例
users/update/3
上面的路线让你认为你正在编辑所有用户,如果你像句子一样阅读它,这是没有意义的。然而,如果你像查询一样阅读你的路线,它会更有意义。
如果我们考虑一下,路线就是一个查询:{resource}/{action}/{parameter}
对我来说看起来像是一个查询。
users/
的简写users/all
reads “选择所有用户表”
users/123
reads “从用户表中选择单个实体”
users/update/123
reads “从用户表更新单个实体”
主要网站使用复数格式,参见下面的示例
stackoverflow.com/questions <- list of questions (multiple)
stackoverflow.com/questions/18570158 <- individual question (single)
stackoverflow.com/questions/ask <- new question (single)
stackoverflow.com/users <- display list of users (multple)
stackoverflow.com/users/114403 <- individual user (single)
asp.net/mvc/tutorials <- display list of tutorials (multiple)
asp.net/mvc/tutorials/mvc-5 <- individual tutorial (single)
facebook.com/messages/ <- Display list of messages (multiple)
facebook.com/messages/new <- Create a single message (single)
facebook.com/messages/john <- view individual messages (multiple)
我认为英语语法应该严格融入到编程的每个方面。它读起来更自然,并带来良好的代码卫生。