我已经完成了一个ASP.NET-MVC5应用程序(网站),我有很多MVC控制器:
我想通过使用OData公开WEB API来扩展我的应用程序的功能。
例如,我想为Person
模型类创建另一个控制器,但这次它应该是Web API而不是MVC控制器。我应该将WEB API存储在Controller文件夹中,只需将其命名为PersonWebAPIController
吗?它会起作用吗?
答案 0 :(得分:7)
回答你的问题Will it work?
是
但是如果你想在物理上分开代码,那么你可以在Controllers
文件夹下创建一个自定义文件夹,并将所有ApiControllers
放在新创建的文件夹中。如果要以逻辑方式分离MVC和API控制器,请为它们使用不同的namespaces
。
从技术上讲,您可以在Visual Studio项目下的任何自定义文件夹中拥有控制器。
答案 1 :(得分:3)
您可以删除默认路由并使用基于属性的路由来实现此目的。将所有ApiControllers添加到" API"具有正确路由的[Route]属性的文件夹。
有关详细信息,请查看此link。