我有一个需要基本前端添加的现有webapi 2应用程序。现有的webapi控制器已在名为xController yController的Controllers目录根目录中创建。
Controllers
-XController.cs
-YController.cs
用以下路线
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}"
);
这些控制器中的每一个都需要一个随附的MVC控制器。我想做的是将API控制器重命名为XApiController YApiController并使用路由来确保已完成的服务的现有用法。然后,我可以为前端添加标准MVC控制器。
Controllers
-XApiController (previously XContoller)
-XController
-YApiController (previously YController)
-YController
最佳答案
您不仅可以使用RoutePrefix
属性来执行此操作吗?那么您可以随心所欲地调用控制器,只需让该属性决定应在何处托管该属性,就可以在控制器级别控制路由是有利有弊,但这似乎是一个常见的用例,因此,例如:
[RoutePrefix("api/home")]
public class SomeHomeController: ApiController
{
// ...
}
关于c# - MVC5/WEBAPI 2将HomeApiController路由到/api/home而不是/homeapi,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42363488/