我想从使用API控制器和AngularJS的MVC4应用程序开始。但是我不确定如何构建我的应用程序。
假设我从一个称为controller
的普通UserController
开始。该控制器具有Index
操作,并返回(剃刀)视图。
在这种情况下,我将做一些HTML和AngularJS的事情。角度代码将反过来调用API控制器以获取其JSON数据。
但这是令我困惑的部分。我已经有一个UserController
返回视图。但是然后我还需要另一个UserController
(扩展了ApiController
)以返回JSON数据,对吗?
因此,我需要一个用于GET
用户数据和PUT
用户数据等的API控制器。因此,该逻辑名称也应为UserController
。
但是显然我不能有两个同名的控制器。那么这是如何工作的呢?我应该如何命名/结构化我的MVC应用程序?
最佳答案
将控制器放在项目的Controllers文件夹中,将ApiControllers放在项目的ApiControllers文件夹中。我就是做这个的。
MyProject
|
---ApiControllers
| |
| ---UserController.cs
|
---Controllers
|
---UserController.cs
如果这样做,默认情况下名称空间将有所不同,从而允许您共享类名称。
对于路由,一个将是
api/user
,另一个将是user
。