我想从使用 API Controller 和 AngularJS 的 MVC4 应用程序开始。但我不太确定如何构建我的应用程序。
假设我从一个名为 UserController
的普通 Controller
开始。该 Controller 有一个 Index
操作并返回一个( Razor ) View 。
从这个 Angular 来看,我将做一些 HTML 和 AngularJS 的事情。 Angular 代码将反过来调用 API Controller 来获取其 JSON 数据。
但这正是令我困惑的部分。我已经有一个返回 View 的 UserController
。但我还需要另一个 UserController
(扩展了 ApiController
)来返回 JSON 数据,对吗?
所以我需要一个 API Controller 来 GET
用户数据和 PUT
用户数据等。因此,其逻辑名称将是 UserController
作为好吧。
但显然我不能有两个同名的 Controller 。那么这是如何运作的呢?我应该如何命名/构建我的 MVC 应用程序?
最佳答案
将 Controller 放入项目的 Controllers 文件夹中,将 ApiController 放入 ApiControllers 文件夹中。这就是我所做的。
MyProject
|
---ApiControllers
| |
| ---UserController.cs
|
---Controllers
|
---UserController.cs
如果您这样做,默认情况下命名空间将有所不同,从而允许您共享类名。
然后对于路由,一个是api/user
,另一个是user
。
关于c# - 如何使用 AngularJS 构建我的 MVC Web API 应用程序而不产生命名冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21031051/