Personalização de roteamento do ASP.NET Web Api
Eu tenho controladores WebApi que terminam com o sufixo "Api" em seus nomes (por ex: StudentsApiController, InstructorsApiController). Eu faço isso para diferenciar facilmente meus controladores MVC dos controladores WebApi. Eu quero que minhas rotas WebApi sejam parecidas com
http://localhost:50009/api/students/5
e nãohttp://localhost:50009/api/studentsapi/5
.
Atualmente, para conseguir isso, estou configurando rotas como
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 });
Isso está se tornando muito complicado, pois tenho que adicionar uma rota para cada método em meus controladores. Espero que haja uma maneira fácil de configurar os modelos de rota que adicionam automaticamente o sufixo "api" ao nome do controlador durante o processamento das rotas.