2014-02-25 97 views
0

我想爲我的WEBAPI設置路由,使用參數很少但沒有參數很少。我想在控制器中的實際URL中使用我的函數名稱來執行操作。爲了更解釋,這是我的路由映射:帶參數的Web API路由選擇

  config.Routes.MapHttpRoute(
      name: "DefaultApi", 
      routeTemplate: "api/{controller}/{action}/{id}", 
      defaults: new { id = RouteParameter.Optional } 

這裏有兩個功能我補充一下:

[HttpGet] 
    public List<Category> FunctionWithParam(long param) 
    { 
     //return something 
    } 

    [HttpGet] 
    public List<Category> FunctionWithoutParam() 
    { 
     //return something 
    } 

當我擊: 根/ API /控制器名稱/ FunctionWithoutParam 它確實調用適當的功能。但是我不能調用FunctionWithParam。我試過
root/api/controller name/FunctionWithParam/10 但是這似乎不起作用。我把一個斷點和parmater的功能只是沒有調用。我做錯了什麼,我怎樣才能使這個工作?

+0

請註明您所面臨的還是什麼確切的問題是什麼例外,它是扔....完成 –

+0

謝謝.... – user2645830

回答

2

更改函數的參數名稱相匹配的路線:

[HttpGet] 
    public List<Category> FunctionWithParam(long id) 
    { 
     //return something 
    } 
+0

非常感謝。我恐怕我能意識到它! – user2645830