【问题标题】:How to structure my MVC Web API application with AngularJS without having naming conflict如何使用 AngularJS 构建我的 MVC Web API 应用程序而不会发生命名冲突
【发布时间】:2014-01-10 05:16:18
【问题描述】:

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

假设我从一个名为UserController 的普通controller 开始。这个控制器有一个Index 动作并返回一个(剃刀)视图。

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

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

所以我需要一个 API 控制器来处理 GET 用户数据和 PUT 用户数据等。所以它的逻辑名称也是 UserController

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

【问题讨论】:

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


【解决方案1】:

将您的控制器放在一个控制器文件夹中,将您的 ApiControllers 放在您项目的 ApiControllers 文件夹中。我就是这么做的。

MyProject
 |
 ---ApiControllers
 |   |
 |   ---UserController.cs
 |
 ---Controllers
     |
     ---UserController.cs

如果您这样做,默认情况下命名空间会有所不同,允许您共享类名。

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

【讨论】:

    猜你喜欢
    • 2015-04-11
    • 1970-01-01
    • 1970-01-01
    • 2012-07-02
    • 2016-06-20
    • 2019-02-20
    • 2021-01-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多