解决springboot整合Swagger2.9.2
最近发现swagger挺好用的,就决定自己去整合swagger,然后好好学习一下。没想到出师不利,刚整合好就发现报404的错误。于是记录下来方便以后的学习和使用。
1.按照网上的帖子整合Swagger
1.1添加pom文件
<!-- swagger-ui -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
<!-- swagger2 -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
1.2添加一个Swagger的配置类
@Configuration
@EnableSwagger2 //通过@EnableSwagger2注解启用Swagger2
public class Swagger {
/**
* @return Docket,这个Bean中,配置了映射路径和要扫描的接口的位置
*/
@Bean
public Docket docket(){
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
//指定扫描的包路径
.apis(RequestHandlerSelectors.basePackage("自己的controller的路径"))
.paths(PathSelectors.any())
.build()
;
}
/**
* 获取Swagger2文档网站的信息,例如网站的title,网站的描述,联系人的信息,使用的协议等等。
* @return
*/
public ApiInfo apiInfo(){
return new ApiInfoBuilder()
.title("API文档")
.description("用restful风格的接口")
.termsOfServiceUrl("")
.version("1.0")
.build()
;
}
}
1.3测试(http://localhost:8080/swagger-ui.html)

2.如果遇见404报错
2.1通用解决方案通过添加config配置文件
@Configuration
public class WebMvcConfig extends WebMvcConfigurerAdapter {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("swagger-ui.html")
.addResourceLocations("classpath:/META-INF/resources/");
registry.addResourceHandler("/webjars/**")
.addResourceLocations("classpath:/META-INF/resources/webjars/");
}
}
备注:如果上述的解决方案不行可以尝试一下使用方案二
2.2方案二
2.2.1将Swagger上面的@EnableSwagger2的注解去掉
@Configuration
public class Swagger {
/**
* @return Docket,这个Bean中,配置了映射路径和要扫描的接口的位置
*/
@Bean
public Docket docket(){
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
//指定扫描的包路径
.apis(RequestHandlerSelectors.basePackage("自己的controller的路径"))
.paths(PathSelectors.any())
.build()
;
}
/**
* 获取Swagger2文档网站的信息,例如网站的title,网站的描述,联系人的信息,使用的协议等等。
* @return
*/
public ApiInfo apiInfo(){
return new ApiInfoBuilder()
.title("API文档")
.description("用restful风格的接口")
.termsOfServiceUrl("")
.version("1.0")
.build()
;
}
}
2.2在启动类上添加上@EnableSwagger2注解

@EnableSwagger2
2.3测试

参考博客:
SpringBoot整合Swagger2
spring-boot2.0 整合 swagger2 (版本 2.9.2)及注意坑点
版权声明:本文为qq_45256805原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。