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