Search code examples
asp.net-web-apiasp.net-mvc-routing

How multiple Get function could be there in a web api controller


just see the scenario

 public class CustomerController : ApiController
 {
     public IEnumerable<Customer> GetCustomersByID(int id)
     {

     }

     public IEnumerable<Customer> GetCustomersByName(string name)
     {

     }

     public IEnumerable<Customer> GetCustomersByEmail(string strEmail)
     {

     }
 }

now tell me what i need to do as a result end user can call three get action by their name. how to handle this situation. thanks


Solution

  • You can set route for each method. Such as:

     [Route("GetById/{id}")]
     public IEnumerable<Customer> GetCustomersByID(int id)
     {
    
     }
    

    You can call it getbyid/3. More details web api routing

    Also there is a question for this issue.