c# - 如何使用 AngularJS 构建我的 MVC Web API 应用程序而不产生命名冲突

标签 c# angularjs asp.net-mvc-4 directory-structure

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

相关文章:

javascript - 如何在 AngularJS 中查找二维数组中的访问元素

c# - 这是 MVC 框架中的错误吗

entity-framework - 管理 dbContext 的生命周期

c# - 在列表框 Windows Phone 8 中启用虚拟化

c# - 如何在拖放期间自动滚动 DataGridView

c# - 默认(T)与 Activator.CreateInstance(T)

c# - .net core 3.1 WorkerService 不加载配置选项/设置

html - ng-repeat 退出 div

javascript - Bootstrap 模式关闭问题

c# - iTextSharp 输入字符串格式不正确 css 错误