最近在写后台接口,是用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/");
}
}
然后就能访问了~