我有WebApi控制器以它们名称中的“Api”后缀结尾(例如:StudentsApiController,InstructorsApiController)。我这样做是为了轻松区分我的MVC控制器和WebApi控制器。我希望我的WebApi路线看起来类似于ASP.NET Web Api路由定制
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”后缀控制器名称。
听起来像一个好地方看看。我会给你一个镜头,让你知道那是怎么回事。 – muruge