我正在尝试使用以下语法定义一个 Put api 方法:
/api/orders/12/orderdate
其中 12 是 orderId,orderdate 是具有 2 个参数的操作方法:int orderId、OrderDate orderdate。
此方法的路由定义可能是什么?
我正在尝试使用以下语法定义一个 Put api 方法:
/api/orders/12/orderdate
其中 12 是 orderId,orderdate 是具有 2 个参数的操作方法:int orderId、OrderDate orderdate。
此方法的路由定义可能是什么?
你可以使用这条路线:
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
}