添加跨域之后,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);
    }
posted @ 2021-08-09 17:14  江亭夕望  阅读(2096)  评论(0)    收藏  举报