title: Multiple actions were found that match the request in webapi
body: <p>I have controller with various actions and one of them is:</p>
  
  <pre><code>[HttpGet]
  public IList&lt;string&gt; GetFoo(string id = null)
  { ... }
  </code></pre>
  
  <p>This action has individual route:</p>
  
  <pre><code>routes.MapHttpRoute(
      name: "GetFoos",
      routeTemplate: "api/my/foo/{_id}",
      defaults: new { controller = "My", action = "GetFoo" }
  );
  </code></pre>
  
  <p>When I add another action:</p>
  
  <pre><code>[HttpGet]
  public IList&lt;string&gt; GetBar()
  { ... }
  </code></pre>
  
  <p>Request to localhost/api/my/foo/ fails:</p>
  
  <pre><code>Multiple actions were found that match the request: 
  ↵System.Collections.Generic.IList`1[System.String] GetFoo(System.String) on type Controllers.MyController
  ↵System.Collections.Generic.IList`1[System.String] GetBar() on type Controllers.MyController"
  </code></pre>
  
  <p>Can someone explain please why this happens? I specified action = "GetFoo" for api/my/foo why it matches GetBar?</p>