将 Web API 添加到现有的 MVC 5 应用程序

Adding WebAPI to an existing MVC5 application

我有一个 MVC5 应用程序,它运行正常。它具有模型、控制器、视图和所有其他功能。它已经是一个独立的应用程序。我现在想为这个应用程序创建一个 API。我不知道我是应该在同一个解决方案中创建一个新的 WebAPI 项目,还是使用我现有的 MVC 项目,以便在其中也包括 API 功能。哪种方法合适?请注意,稍后我想使用那个 API 创建一个使用 Xamarin 的移动应用程序。

如果您希望 WebAPI 不仅用于 WebSite - 当然,您已经在解决方案中添加了新的 WebAPI 项目 (+ 在 OOP 中更好)- 很容易改变。

使用同一个项目没有错,在很多方面它最有意义,因为如果它们位于同一个 Web 项目中,托管应用程序时会更容易。

我倾向于将我的 API 控制器保存在名为 "Api" 的子文件夹中,该文件夹整齐地位于 Web 解决方案的 Controllers 文件夹中。

"Controllers > Api".

当我不确定这些事情时,我倾向于选择最简单的选项,如果您出于某种原因找到一个很好的理由将控制器放在他们自己的项目中,那么这很容易实现了。

您提到您稍后将使用 API 开发使用 XAMARIN 的应用程序,这不应该意味着移动 API...移动应用程序不需要任何类型的参考API,他们只会使用标准 HTTP 请求调用您的应用程序。这没有什么区别,因为您的网站需要一个主机,您也可以为您的 API 使用相同的主机。