title: Having Get single and Get all methods on a ApiController
body: <p>I'm developing an API using close to the latest bits from the aspnetwebstack Codeplex project (4592e2f63c55 from 2012-05-09 if anyone is interested). </p>
  
  <p>I have the following route:</p>
  
  <pre><code>context.Routes.MapHttpRoute("SiteSpecific", "Api/{controller}/{customerId}/{siteToken}/{id}",
                  new { id = UrlParameter.Optional });
  </code></pre>
  
  <p>And what I'm currently trying to do is implement get single and a get all in an <code>ApiController</code>. The Get all method, for testing is the following:</p>
  
  <pre><code>public IEnumerable&lt;EditChatResponse&gt; Get(string customerId, string siteToken)
  {
      return new []{new EditChatResponse{Template = "Get All"}, };
  }
  </code></pre>
  
  <p>And the get single is currently following:</p>
  
  <pre><code>public EditChatResponse Get(string customerId, string siteToken, string id)
  {
      return new EditChatResponse {Template = "Get Single"};
  }
  </code></pre>
  
  <p>However, routing is always choosing the Get single method:</p>
  
  <pre><code>$ curl -i -H "Accept: applicaiton/json" http://localhost/api/chatresponse/a/b
  HTTP/1.1 200 OK
  Cache-Control: no-cache
  Pragma: no-cache
  Content-Type: application/json; charset=utf-8
  Expires: -1
  Server: Microsoft-IIS/7.5
  X-AspNet-Version: 4.0.30319
  X-Powered-By: ASP.NET
  Date: Mon, 14 May 2012 18:06:26 GMT
  Content-Length: 66
  
  {"Id":0,"Template":"Get Single","Inherited":false,"Enabled":false}
  
  
  $ curl -i -H "Accept: applicaiton/json" http://localhost/api/chatresponse/a/b/c
  HTTP/1.1 200 OK
  Cache-Control: no-cache
  Pragma: no-cache
  Content-Type: application/json; charset=utf-8
  Expires: -1
  Server: Microsoft-IIS/7.5
  X-AspNet-Version: 4.0.30319
  X-Powered-By: ASP.NET
  Date: Mon, 14 May 2012 18:06:28 GMT
  Content-Length: 66
  
  {"Id":0,"Template":"Get Single","Inherited":false,"Enabled":false}
  </code></pre>
  
  <p>I've tried renaming the Get all method to <code>GetAll</code>, as I've seen in some examples, decorating it with <code>[HttpGet]</code>, but it still chooses the single method.</p>
  
  <p>Am I completely missing something, or do I need to go about this a different way (most of the examples I see look to be related to the beta bits, and not a recent version from CodePlex)?</p>