Several routes on the controller

I wonder if it is possible to have more than one route pointing to a WebApi controller?

For example, I like to have http: // domain / calculate and http: // domain / v2 / calculate , pointing to the same controller function?

+8
c # asp.net-web-api asp.net-web-api-routing
source share
1 answer
public static class WebApiConfig { public static void Register(HttpConfiguration config) { // Web API configuration and services // Configure Web API to use only bearer token authentication. config.SuppressDefaultHostAuthentication(); config.Filters.Add(new HostAuthenticationFilter(OAuthDefaults.AuthenticationType)); // Web API routes config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute( name: "route1", routeTemplate: "calculate", defaults: new { controller = "Calculator", action = "Get" }); config.Routes.MapHttpRoute( name: "route2", routeTemplate: "v2/calculate", defaults: new { controller = "Calculator", action = "Get" }); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); } } 

OR

 public class CalculatorController: ApiController { [Route("calculate")] [Route("v2/calculate")] public String Get() { return "xxxx"; } } 
+15
source share

All Articles