2016-08-30 61 views
0

我剛剛接觸WebAPI,只是探索其默認樣本「價值」控制器,這是與項目開箱即用。找到與請求相匹配的多個操作?

我看到的時候,已經有兩個Get方法:

 // GET api/values 
    public IEnumerable<string> Get() 
    { 
     return new string[] { "value1", "value2" }; 
    } 

    // GET api/values/5 
    public string Get(int id) 
    { 
     return "value"; 
    } 

我嘗試和改變INT ID與複雜類型並獲得「多個動作中發現匹配的要求,即

爲什麼是它工作得很好嗎?

我的路線是defuatl:

routes.MapRoute(
      name: "Default", 
      url: "{controller}/{action}/{id}", 
      defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } 
     ); 

我米使用GET methoed經過一個複雜的對象身上,我知道這是不是寧靜的方式,但請幫助我理解它。

非常感謝。

+2

你爲什麼要將一個複雜的對象傳遞給GET方法?你想做什麼? – Nikki9696

+0

只是爲什麼我不能發送一個複雜的對象獲取 – user576510

+1

你可以,但你需要映射那個對象是什麼,比如Get(ObjectType thing) – Nikki9696

回答

1

您可以使用ActionName註釋解決此問題。例如使用:

[ActionName("IEnumerableGet")] 
public IEnumerable<string> Get() 
    { 
     return new string[] { "value1", "value2" }; 
    } 

因此,您可以撥打IEnumerableGet以調用此方法。

相關問題