title: ASP.NET Web Api Routing Customization
body: <p>I have WebApi controllers that end with the "Api" suffix in their names (For ex: StudentsApiController, InstructorsApiController). I do this to easily differentiate my MVC controllers from WebApi controllers. I want my WebApi routes to look similar to</p>
  
  <p><strong><code>http://localhost:50009/api/students/5</code></strong> and not <code>http://localhost:50009/api/studentsapi/5</code>. </p>
  
  <p>Currently to achieve this, I am setting up routes like</p>
  
  <pre><code>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 });
  </code></pre>
  
  <p>This is turning out to be very cumbersome as I have to add a route for each method in my controllers. I am hoping there should be an easy way to setup route templates that automatically adds the "api" suffix the controller name while processing routes.</p>