【问题标题】:Defining routes in asp.net Web API在 asp.net Web API 中定义路由
【发布时间】:2013-06-24 18:35:08
【问题描述】:
我正在尝试使用以下语法定义一个 Put api 方法:
/api/orders/12/orderdate
其中12是orderId,orderdate是一个动作方法,有2个参数:int orderId,OrderDate orderdate。
这个方法的路由定义是什么?
【问题讨论】:
标签:
c#
asp.net-web-api
routes
【解决方案1】:
你可以使用这条路线:
config.Routes.MapHttpRoute(
name: "Orders",
routeTemplate: "api/{controller}/{orderId}/{action}"
);
如果你愿意,你也可以更明确:
config.Routes.MapHttpRoute(
name: "Update Order Date",
routeTemplate: "api/orders/{orderId}/orderdate"
defaults: new { controller = "Orders", action = "OrderDate" }
);
您的操作方法如下所示:
[HttpPut]
public HttpResponseMessage OrderDate(int orderId, OrderDate orderDate)
{
// implementation
}