I\'m trying to configure routing in my MVC4 WebAPI project.
I want to be able to search for products based on their name or their type like so:
/api/pr
What you need is just only one route below because query string is not used as routing parameters:
config.Routes.MapHttpRoute(
name: "Get Products",
routeTemplate: "api/products",
defaults: new { controller = "ProductSearchApi" }
);
And, then define two methods like below:
GetProductsByName(string name)
{}
GetProductsByType(string type)
{}
Routing mechanism is smart enough to route your url to your correct action based on the name of query string whether the same with input parameters. Of course on all methods with prefix are Get
You might need to read this: http://www.asp.net/web-api/overview/web-api-routing-and-actions/routing-and-action-selection