WebAPI 使用Swagger只能有一个Get解决方案
2020-02-14
程序解决方案
403
青菜仟推荐说:Swagger是一个规范且完整的框架,提供描述、生产、消费和可视化RESTful API,它是为了解决Web API生成有用文档和帮助页的问题。Swagger默认一个controller只能有一个Get方法,否则就会冲突导致一个都显示不出来
Swagger默认一个controller只能有一个Get方法,否则就会冲突导致一个都显示不出来
如果 启用 SwaggerConfig.cs 的ResolveConflictingActions 那么只会显示第一个get
该问题可以通过修改WebApiConfig.cs 默认路由配置解决
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
//修改为
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
如果 启用 SwaggerConfig.cs 的ResolveConflictingActions 那么只会显示第一个get
该问题可以通过修改WebApiConfig.cs 默认路由配置解决
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
//修改为
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);