Springboot2.6+Swagger2无法扫描到接口:No operations defined in spec!

news/2024/12/21 20:47:02/

先检查一遍swagger扫描开启,enable:true;扫描路径配置正确后仍然还是不显示

springboot2.6+swagger2.9.2无法扫描到接口问题解决
多模块环境下,swaggerConfig配在公共模块,发现部分模块无法扫描到Controller接口。如下图所示:

经检查是部分模块忘记加以下配置了:

spring:mvc:pathmatch:matching-strategy: ant_path_matcher

附上SwaggerConfig(网上找的)
依赖为springfox-boot-starter

@Configuration
@EnableOpenApi
public class SwaggerConfig {

    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.OAS_30)
                .enable(true) //是否启用swagger
                .apiInfo(apiInfo())
                // 设置哪些接口暴露给Swagger展示
                .select()
                // 扫描所有有注解的api,用这种方式更灵活
                .apis(RequestHandlerSelectors.withClassAnnotation(Api.class))
//                .paths(PathSelectors.any()) //这会把所有路径都给过滤了!
                .build();
    }

    private ApiInfo apiInfo() {
        // 用ApiInfoBuilder进行定制
        return new ApiInfoBuilder()
                // 设置标题
                .title("标题")
                // 描述
                .description("描述")
                // 作者信息
                .contact(new Contact("username", "website", "mail"))
                // 版本
                .version("版本号:" + "1.0")
                .build();
    }

    /**
     * springboot2.6就算配了ant_path_matcher也会和springfox冲突
     * 解决springboot2.6 和springfox不兼容问题  Failed to start bean ‘ documentationPluginsBootstrapper ‘ ; nested exception…
     *
     * @return
     */
    @Bean
    public static BeanPostProcessor springfoxHandlerProviderBeanPostProcessor() {
        return new BeanPostProcessor() {

            @Override
            public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
                if (bean instanceof WebMvcRequestHandlerProvider || bean instanceof WebFluxRequestHandlerProvider) {
                    customizeSpringfoxHandlerMappings(getHandlerMappings(bean));
                }
                return bean;
            }

            private <T extends RequestMappingInfoHandlerMapping> void customizeSpringfoxHandlerMappings(List<T> mappings) {
                List<T> copy = mappings.stream()
                        .filter(mapping -> mapping.getPatternParser() == null)
                        .collect(Collectors.toList());
                mappings.clear();
                mappings.addAll(copy);
            }

            @SuppressWarnings("unchecked")
            private List<RequestMappingInfoHandlerMapping> getHandlerMappings(Object bean) {
                try {
                    Field field = ReflectionUtils.findField(bean.getClass(), "handlerMappings");
                    field.setAccessible(true);

                    return (List<RequestMappingInfoHandlerMapping>) field.get(bean);
                } catch (IllegalArgumentException | IllegalAccessException e) {
                    throw new IllegalStateException(e);
                }
            }
        };
    }


http://www.ppmy.cn/news/736032.html

相关文章

LVS负载均衡群集——DR直接路由模式

一.LVS数据包流向分析 1.数据包流向 &#xff08;1&#xff09;客户端发送请求到 Director Server&#xff08;负载均衡器&#xff09;&#xff0c;请求的数据报文&#xff08;源 IP 是 CIP,目标 IP 是 VIP&#xff09;到达内核空间。 &#xff08;2&#xff09;Director Ser…

差分进化算法(Differential Evolution,DE,附简单案例及详细matlab源码)

作者&#xff1a;非妃是公主 专栏&#xff1a;《智能优化算法》 博客地址&#xff1a;https://blog.csdn.net/myf_666 个性签&#xff1a;顺境不惰&#xff0c;逆境不馁&#xff0c;以心制境&#xff0c;万事可成。——曾国藩 文章目录 专栏推荐序一、概论二、差分进化算法&a…

微信测试公众号申请配置

打开此网页进行申请测试公众号微信公众平台 点击登录进入到二维码扫描界面&#xff0c;使用微信扫描进入如下界面&#xff1a; 界面自动获取appID、appsecret(需要记录一下&#xff0c;后面会用到)。 域名输入Tomcat访问地址 注意不要加上http或后缀 下拉配置网页账号&#x…

香港等海外公司如何开通认证微信公众号?

这是个微信营销的时代&#xff0c;通过微信渠道将品牌推广给上亿的微信用户&#xff0c;减少宣传成本&#xff0c;提高品牌知名度&#xff0c;打造更具影响力的品牌形象。随着微信营销如火如荼的发展&#xff0c;大量海外商家也试图分一杯羹&#xff0c;但是国内微信用户无法关…

微信公众号测试号配置 适用于登录注册

微信小程序注册登录 配置微信公众测试号 配置微信公众测试号 https://mp.weixin.qq.com/cgi-bin/home?thome/index&langzh_CN&token279116570 进入配置页面 2.配置接口配置信息 token随便找个生成的就行 URL内网穿透的生成的加上你写的签名接口地址进行验证绑定 Res…

海外主体企业微信公众号如何开通及认证?

公众平台可以将品牌、企业信息等推送给上亿的微信用户&#xff0c;降低宣传成本&#xff0c;提升知名度。公众号认证认证后&#xff0c;用户将在微信中看到特有的标识&#xff0c;同时公众号将获得更丰富的高级接口&#xff0c;可向用户提供更有价值的个性化服务。 海外主体公…

微信公众号认证法人信息验证失败怎么办?

个体工商户认证公众号时&#xff0c;提示&#xff1a; “企业不存在或企业信息未更新”或“企业法定代表人身份证号码不一致”&#xff0c;法定代表人验证失败&#xff0c;该怎么办呢&#xff1f; 公众号快速认证流程 1.准备资料&#xff1a;个体户营业执照、经营者身份号码、…

没有对公账户怎么开通认证微信公众号?

公众平台主要面向名人、政府、媒体、企业等机构推出的合作推广业务。在这里可以通过微信渠道将品牌推广给上亿的微信用户&#xff0c;减少宣传成本&#xff0c;提高品牌知名度&#xff0c;打造更具影响力的品牌形象。 公众号认证类型 目前可通过认证的类型有政府机关、企业、个…