2015-12-10 13 views

答えて

15
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"; 
    } 
} 
+0

おかげ@yyou。コントローラーレベルでこれをやりたければどうなりますか?たとえば、Controllerクラスに2 [RoutePrefix]を追加すると、 – Darren

+0

@ダーリーン私は答えを更新しました。ありがとうございました! – yyou

+0

ありがとう!複数の[RoutePrefix]を持つ方法がないことに気付きました。 http://stackoverflow.com/questions/24953660/asp-net-web-api-multiple-routeprefixで別の回避策を見つけました。あなたの最初の解決策は私の状況に適しています。 :) – Darren

関連する問題