添加跨域以後,swagger2頁面報錯,No mapping for GET /swagger-ui.html

在使用thymeleaf時,swagger2能夠正常使用,將thymeleaf改成vue以後,swagger2頁面報錯html

  • 緣由:跨域配置類集成了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);
    }
相關文章
相關標籤/搜索