【问题标题】:mvc4 and WebApi causes duplicate controllersmvc4 和 WebApi 导致重复的控制器
【发布时间】:2013-07-24 19:12:45
【问题描述】:

我开始接触 MVC4 和 Web API。但是我无法理解这样一个事实,即我现在需要一个返回数据的 Items 控制器(Web API 部分),以及另一个 Items 控制器来返回显示 Items 列表的视图。

在 MVC4 中是否有约定或更简单的方法来执行此操作?我的 Controllers 文件夹中到处都是 ItemController 和 ItemsController 之类的名称,一个用于 Web API,一个用于视图。

【问题讨论】:

  • 将 Web Api 控制器放在 Controllers 文件夹中名为 Api 的文件夹中

标签: .net asp.net-mvc asp.net-mvc-4 asp.net-web-api


【解决方案1】:

您可以将 Web API 控制器与主应用程序分开放在一个子文件夹甚至一个单独的类库项目中,以避免著名的 Controllers 文件夹造成可怕的混乱。 ASP.NET MVC 和 ASP.NET Web API 都没有提供关于控制器物理位置的 S..T。它只关心它们在运行时出现在 AppDomain 中,并且它们尊重标准命名约定和基本类型。

【讨论】:

  • 说到命名约定,我应该给控制器起什么名字?就我而言,我认为 ItemController 和 ItemsController 不是一个好主意,我应该调用一个 ItemsApiController 吗?这是大多数有经验的开发人员现在正在做的事情吗?
  • 不,只要 API 控制器位于子文件夹中,您就不需要在其名称中包含 Api 标记。在 RESTful 约定中,控制器的名称就是您的资源的名称。所以如果你的资源被称为Item,那么你的控制器应该被称为ItemsController
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-11-24
  • 2013-09-17
  • 1970-01-01
  • 2012-05-09
  • 2012-09-18
  • 2012-12-12
  • 1970-01-01
相关资源
最近更新 更多