如何使用 AngularJS 构建我的 MVC Web API 应用程序而不会发生命名冲突



我想从使用 API 控制器和 AngularJS 的 MVC4 应用程序开始。但我不太确定如何构建我的应用程序。

假设我从一个称为UserController的普通controller开始。此控制器具有Index操作并返回(剃刀)视图。

在这个观点下,我将做一些HTML和AngularJS的事情。角度代码将调用 API 控制器以获取其 JSON 数据。

但这是让我困惑的部分。我已经有一个返回视图的UserController。但是我还需要另一个UserController(扩展ApiController)来返回 JSON 数据,对吧?

所以我需要一个 API 控制器来GET用户数据并PUT用户数据等。因此,合乎逻辑的名称也是UserController

但显然我不能有两个同名的控制器。那么这是如何工作的呢?我应该如何命名/构建我的 MVC 应用程序?

将控制器放在项目的"控制器"文件夹中,将 ApiControllers 放在"ApiControllers"文件夹中。 这就是我所做的。

MyProject
 |
 ---ApiControllers
 |   |
 |   ---UserController.cs
 |
 ---Controllers
     |
     ---UserController.cs

如果执行此操作,默认情况下命名空间将不同,从而允许您共享类名。

然后对于路由,一个将是api/user,另一个是user.

最新更新