我有一个需要基本前端添加的现有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/

10-10 09:41