Swagger整合SpringBoot报错404以及@EnableWebMvc无法访问静态资源文件

最近在写后台接口,是用springboot搭建的。
现在准备配置上Swagger作为接口文档。
当加好Swagger的配置项后,访问http://localhost:8080/swagger-ui.htm发现404~尴尬了。

后来才发现是@EnableWebMvc注解的问题,加了这个注解以后会导致静态资源路径无法访问
同样404的朋友可以试一试把这个注解给注释了,看能否进入Swagger界面。

我这里是重新对静态资源文件做了一个新的路径映射。
步骤:
1、创建一个配置项实现WebMvcConfigurer接口。
(ps:老版本的springboot是继承WebMvcConfigurationSupport类)

2、重写addResourceHandlers方法,映射资源路径。


/**
 * @Description: 使用了@EnableMvc以后,导致静态资源路径无法访问
 *               重新配置加上静态资源路径的映射
 * @CreateDate: 2020/7/3 11:04
 */
@Configuration
public class MvcStaticMappingConfig implements WebMvcConfigurer {


    /**
     * 设置静态资源路径的映射
     */
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        // 解决静态资源无法访问
        registry.addResourceHandler("/**").addResourceLocations("classpath:/static/");
        // 解决swagger无法访问
        registry.addResourceHandler("/swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");
        // 解决swagger的js文件无法访问
        registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
    }


}

然后就能访问了~
Swagger整合SpringBoot报错404以及@EnableWebMvc无法访问静态资源文件_第1张图片

你可能感兴趣的:(Java)