How to accept HTML Form Data in a ASP.NET Web API Action Method ?

There are times when you might want to create an endpoint in ASP.NET WebAPI that can handle the HTML form data posted as x-www-form-urlencoded.

One of the options is to use the model binding concept.

public HttpResponseMessage Post(ACEmployeeModel model) 
{    
   //Logic 
}

 
In this case , the model should have the names of the keys that are passed in the HTTP request.

The MediaFormatters are used to extract the data from the body of the Request and pass it to the action method.

Alternately , you can also use the FormDataCollection as shown below.

public HttpResponseMessage Post(FormDataCollection form) 
{    
//Logic
}

The FormDataCollection lets you to pass the data as key value collection and this allows you to manually handle the form data like the way you want.