Dostosowywanie routingu ASP.NET Web Api
Mam kontrolery WebApi, których nazwy kończą się przyrostkiem „Api” (np. StudentsApiController, InstructorsApiController). Robię to, aby łatwo odróżnić moje kontrolery MVC od kontrolerów WebApi. Chcę, aby moje trasy WebApi wyglądały podobnie
http://localhost:50009/api/students/5
i niehttp://localhost:50009/api/studentsapi/5
.
Obecnie, aby to osiągnąć, ustawiam takie trasy jak
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 });
To okazuje się być bardzo uciążliwe, ponieważ muszę dodać trasę dla każdej metody w moich kontrolerach. Mam nadzieję, że powinien istnieć łatwy sposób na ustawienie szablonów tras, które automatycznie dodają przyrostek „api” nazwy kontrolera podczas przetwarzania tras.