У меня есть контроллеры 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" имя контроллера во время обработки маршрутов.