2
我正在使用asp.net web api構建一個Http服務,我有兩個get方法在控制器中使用相同的參數,我無法弄清楚如何定義路由匹配這兩種方法,我可以只調用其中一個,對於其他我得到一個錯誤,在控制器上找不到任何操作方法。 這裏有和定義具有相同參數的兩個get方法的Web api控制器
RouteTable.Routes.MapHttpRoute(
name: "default",
routeTemplate: "{controller}/{lang}",
defaults: new { lang = System.Web.Http.RouteParameter.Optional });
RouteTable.Routes.MapHttpRoute(
name: "details",
routeTemplate: "{controller}/{lang}/{action}/{id}");
路由控制器的方法:
public IQueryable<RecipeDTO> Get(string lang)
{
}
[HttpGet]
public RecipeDTO Details(string lang, int id)
{
}
[HttpGet]
public IQueryable<RecipeDTO> Random(string lang, int count)
{
}
你看方法的詳細信息,並隨機具有相同的參數,我可以做以下電話:
controller-name/en(與第一個get方法匹配)
controller-name/en/details/1(與詳細方法匹配)
但是當我嘗試:
控制器名/ EN /隨機/ 5
我沒有得到任何行動方法在控制器上發現錯誤,我怎麼能解決這個問題。
在此先感謝