在asp.net Web API中定义路由

时间:2013-06-24 18:35:09

标签: c# asp.net-web-api routes

我正在尝试使用以下语法定义Put api方法:

/ API /命令/ 12 /订购日期

其中12是orderId,orderdate是一个带有2个参数的动作方法:int orderId,OrderDate orderdate。

这种方法的路线定义是什么?

1 个答案:

答案 0 :(得分: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
}