我有以“Api”后缀结尾的 WebApi 控制器(例如:StudentApiController、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”后缀控制器名称。