解决swagger报错404的问题
在写swagger的时候,启动类没有报错,当在8080端口访问的时候,报错404未找到
原依赖和类如下
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>3.0.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>3.0.0</version>
</dependency>
@Configuration
@EnableSwagger2
public class SwaggerConfig{
@Bean
public Docket getDocket(){
// docket封装接口文档信息
//封面信息
ApiInfoBuilder apiInfoBuilder = new ApiInfoBuilder();
apiInfoBuilder.title("锋迷商城后端接口说明文档")
.description("此文档详细说明了锋迷商城后端接口规范")
.version("v 2.0.1")
.contact(new Contact("zzd","www.liangge.com","[email protected]"));
ApiInfo apiInfo = apiInfoBuilder.build();
Docket docket = new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo)
.select()
.apis(RequestHandlerSelectors.basePackage("com.qfedu.controller"))
.paths(PathSelectors.any())
.build();
return docket;
}
}
经过网上查询,得知MVC没有找到swagger-ui包中的swagger-ui.html
接着我写了WebConfig类
@Configuration
public class WebConfig implements WebMvcConfigurer {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/statics/**").addResourceLocations("classpath:/statics/");
// 解决 SWAGGER 404报错
registry.addResourceHandler("/swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");
registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
}
}
可还是报错,真的很头大。
后来又查资料,看文章,总结出可能是swagger版本和springboot版本有些不匹配的问题。之后我就把pom中swagger和swagger-ui的版本从原来的3.0.0改成2.9.2。神奇的是可以运行了!