ASP.NET MVC4 Web API v1 controller is defined below. It should accept 1 or 2 query string parametrs.
However ko parameter is always null if method is called. Request is
Another option is to implement a custom type provider. This allows control over the representation in the query string, and means you don't have to add the [FromUri]
attribute to your action methods. This makes sense if you have widespread reuse of a complex parameter type, or need a custom representation.
A good example of this is given in this blog post where a location with latitude and longitude is implemented using both techniques.
Complex types are fetched from the body of a request, but you can change this default behaviour like this :
public HttpResponseMessage Get([FromUri]CustomersSearchViewModel ko)
Your querystring should contain parameters named like your model properties, otherwise the binding won't work.