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

Viv*_*ndi 2 c# directory-structure asp.net-mvc-4 angularjs

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

假设我从一个controller被调用的法线开始UserController.该控制器具有Index动作并返回(剃刀)视图.

在那个视图中,我将做一些HTML和AngularJS的事情.角度代码将返回调用API控制器以获取其JSON数据.

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

所以我需要一个API控制器来GET用户数据和PUT用户数据等.所以这个逻辑名UserController也是如此.

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

Wor*_*red 6

将控制器放在Controllers文件夹中,将ApiControllers放在项目的ApiControllers文件夹中.我就是做这个的.

MyProject
 |
 ---ApiControllers
 |   |
 |   ---UserController.cs
 |
 ---Controllers
     |
     ---UserController.cs
Run Code Online (Sandbox Code Playgroud)

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

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