Is there a better way in the new ASP.net MVC 4 WebApi to handle nested resources than setting up a special route for each one? (similar to here: ASP.Net MVC support for Nested Resources? – this was posted in 2009).
For example I want to handle:
/customers/1/products/10/
I have seen some examples of ApiController actions named other than Get(), Post() etc, for example here I see an example of an action called GetOrder(). I can’t find any documentation on this though. Is this a way to achieve this?
Sorry, I have updated this one multiple times as I am myself finding a solution.
Seems there is many ways to tackle this one, but the most efficient I have found so far is:
Add this under default route:
This route will then match any controller action and the matching segment name in the URL. For example:
/api/customers/1/orders will match:
/api/customers/1/orders/123 will match:
/api/customers/1/products will match:
/api/customers/1/products/123 will match:
The method name must match the {action} segment specified in the route.
Important Note:
From comments
Since the RC you’ll need to tell each action which kind of verbs that are acceptable, ie
[HttpGet], etc.