添加跨域之后,swagger2页面报错,No mapping for GET /swagger-ui.html


在使用thymeleaf时,swagger2可以正常使用,将thymeleaf改为vue之后,swagger2页面报错

  • 原因:跨域配置类集成了WebMvcConfigurationSupport,则在配置文件中配置的相关内容会失效,需要重新指定静态资源
  • 解决办法:在继承了WebMvcConfigurationSupport的配置类中,添加以下代码
    /**
     * 发现如果继承了WebMvcConfigurationSupport,则在yml中配置的相关内容会失效。 需要重新指定静态资源
     *
     * @param registry
     */
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/**").addResourceLocations(
                "classpath:/static/");
        registry.addResourceHandler("swagger-ui.html").addResourceLocations(
                "classpath:/META-INF/resources/");
        registry.addResourceHandler("/webjars/**").addResourceLocations(
                "classpath:/META-INF/resources/webjars/");
        super.addResourceHandlers(registry);
    }


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM