欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

打开swagger-ui.html报There was an unexpected error (type=Not Found, status=404)

程序员文章站 2022-03-03 17:05:42
...

启动springboot项目后,打开swagger页面打不开报如下错误:
打开swagger-ui.html报There was an unexpected error (type=Not Found, status=404)
查了一下资料,发现是代码中WebMvcConfig自定义继承WebMvcConfigurerAdapter导致配置文件中配置的相关内容会失效,需要重新指定静态资源

@Configuration
public class WebMvcConfig extends WebMvcConfigurerAdapter {
    @Value("${file.front-end.path}")
    private String fePath;

    @Value("${file.up-down-load.static-path}")
    private String udlPath;

    /**
     * 静态资源处理
     **/
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/**")
                .addResourceLocations(fePath,udlPath);
    }

    /**
     * 前后端分离,解决跨域问题
     **/
    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**") // 任意路径
                .allowedMethods("*") //允许所有域
                .allowedOrigins("*") //允许所有方法
                .allowCredentials(true); //解决跨域问题
    }

    //允许多请求地址多加斜杠  比如 /msg/list   //msg/list
    @Bean
    public HttpFirewall httpFirewall() {
        return new DefaultHttpFirewall();
    }


}

修改如下:

 /**
     * 静态资源处理
     **/
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/**")
                .addResourceLocations(fePath,udlPath);
        // 增加对swagger页面的访问
        registry.addResourceHandler("swagger-ui.html").addResourceLocations(
                "classpath:/META-INF/resources/");
    }

重新登录,访问成功!
打开swagger-ui.html报There was an unexpected error (type=Not Found, status=404)