ASP.NET WebAPI 使用Swagger只能有一个Get解决方案

152 阅读1分钟

ASP.NET WebAPI使用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 }

        );