Reputation: 95
I'm trying to define a Put api method with this syntax:
/api/orders/12/orderdate
where 12 is orderId, orderdate is an action method with 2 parameters: int orderId, OrderDate orderdate.
What could be the route definition for this method?
Upvotes: 0
Views: 474
Reputation: 2417
You can use this route:
config.Routes.MapHttpRoute(
name: "Orders",
routeTemplate: "api/{controller}/{orderId}/{action}"
);
You can also be more explicit if you wish:
config.Routes.MapHttpRoute(
name: "Update Order Date",
routeTemplate: "api/orders/{orderId}/orderdate"
defaults: new { controller = "Orders", action = "OrderDate" }
);
And your action method would look like this:
[HttpPut]
public HttpResponseMessage OrderDate(int orderId, OrderDate orderDate)
{
// implementation
}
Upvotes: 1