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

    技术2023-06-03  81

    最近在写后台接口,是用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/"); } }

    然后就能访问了~

    Processed: 0.016, SQL: 9