我有一个 web api 项目(C#,asp.net MVC),我需要能够使用模板 api/{controller}/{action}/{id} 和 api/{controller}/{id} 调用动作. 为此,我为 api 控制器添加了 2 条路由:
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional },
constraints: new { action = @"^[a-zA-Z]+$" }
);
config.Routes.MapHttpRoute(
name: "RestFull",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional });
所以现在如果我有控制器 MyController 和方法 Delete,我可以同时调用它 DELETE api/MyController/Delete 和 DELETE api/MyController;此外,我有自动生成的 api 帮助,并且在我添加了路由的第二个变体之后 - 一些方法现在在帮助中显示了两次。
我想要的是每个操作在帮助中只有一个参考。可能吗?或者我的路由可能有问题,我可以有多个 GET/POST 方法,只使用“api/{controller}/{id}”模板?