我想从使用 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
.