2
我需要有一個自定義操作我的API控制器類似API/{控制器}/{行動}/{ID}API控制器
這是我的配置
config.Routes.MapHttpRoute(
name: "DefaultMethodApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
config.Routes.MapHttpRoute(
name: "ApiByAction",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { action = "Browse", id = RouteParameter.Optional }
);
這個命中默認路由/ api/dropzone/1 但我嘗試通過「ApiByAction」配置來打擊/ api/dropzone/browse/1,但它不起作用。
對不起,這打破了默認路線。/api/{action}/{id}不起作用。 – 2013-02-16 20:11:39
你說得對。您必須在第一個路由定義中爲「{action}」標記指定一個約束。我已經更新了我的答案以說明這一點。這裏的動作名稱不能以數字開頭,只能包含字母或數字,並且至少有一個字符長度。 – 2013-02-16 22:56:12