小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
背景
最近在学习SpringBoot,于是先自己集成一些组件,这次我们要来集成的组件就是Swagger2,来实现API的在线文档。
如下图所示效果:
下面就看一下吧,从0到1的集成Swagger2组件。
实现的具体部署
首先引入jar包组件,编辑pom文件,加入以下代码:
注:这里就不再介绍SpringBoot项目的创建了,请大家自行解决。
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
在这之后,就要编写一个自动配置类,配置类如下代码:
@Configuration
@EnableSwagger2
public class Swagger2Configuration {
@Value(value = "${swagger.enable}")
private boolean swaggerEnable;
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.enable(swaggerEnable)
.select()
.apis(RequestHandlerSelectors.any())
//错误路径不监控
.paths(Predicates.not(PathSelectors.regex("/error.*")))
// 对根下所有路径进行监控
.paths(PathSelectors.regex("/.*"))
.build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("API")
.description("项目提供对外所有API,请查收。")
.termsOfServiceUrl("http://www.test.com")
.version("1.0")
.build();
}
}
经过此项配置类的编写完成,其实就差不多完成了本次的编写。
但是,还有一想并没有完成,就是配置类中的参数swaggerEnable,这个参数目前我们还没有配置,所以要在application.yml中增加这项配置。
在配置文件中加入如下代码:
swagger:
enable: true
增加了这项配置后,就可以正常访问页面,相应的页面地址是localhost:8080/swagger-ui.html,如此就可以得到文章开始的效果了。