我有一些WebApi控制器,它们的名称以“Api”后缀结尾(例如:StudentsApiController,InstructorsApiController)。我这样做是为了轻松区分我的MVC控制器和WebApi控制器。我希望我的WebApi路由看起来类似于
http://localhost:50009/api/students/5
而不是http://localhost:50009/api/studentsapi/5
。
目前为了实现这一点,我正在设置如下的路由:
routes.MapHttpRoute(
name: "GetStudents",
routeTemplate: "api/students/{id}",
defaults: new { controller = "StudentsApi", id = RouteParameter.Optional });
routes.MapHttpRoute(
name: "GetInstructors",
routeTemplate: "api/instructors/{id}",
defaults: new { controller = "InstructorsApi", id = RouteParameter.Optional });
由于我必须为我的控制器中的每个方法添加一个路由,所以这变得非常繁琐。我希望有一种简单的方法来设置路由模板,它会在处理路由时自动将“api”后缀添加到控制器名称。