title: Routing with multiple Get methods in ASP.NET Web API
body: <p>I am using Web Api with ASP.NET MVC, and I am very new to it. I have gone through some demo on asp.net website and I am trying to do the following.</p>
  
  <p>I have 4 get methods, with the following signatures</p>
  
  <pre><code>public List&lt;Customer&gt; Get()
  {
      // gets all customer
  }
  
  public List&lt;Customer&gt; GetCustomerByCurrentMonth()
  {
      // gets some customer on some logic
  }
  
  public Customer GetCustomerById(string id)
  {
      // gets a single customer using id
  }
  
  public Customer GetCustomerByUsername(string username)
  {
      // gets a single customer using username
  }
  </code></pre>
  
  <p>For all the methods above I would like to have my web api somewhat like as shown below</p>
  
  <ul>
  <li>List Get() = <code>api/customers/</code></li>
  <li>Customer GetCustomerById(string Id) = <code>api/customers/13</code></li>
  <li>List GetCustomerByCurrentMonth() = <code>/customers/currentMonth</code></li>
  <li>Customer GetCustomerByUsername(string username) = <code>/customers/customerByUsername/yasser</code></li>
  </ul>
  
  <p>I tried making changes to routing, but as I am new to it, could'nt understand much.</p>
  
  <p>So, please can some one help me understand and guide me on how this should be done. Thanks</p>