背景
最近在学习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@EnableSwagger2publicclassSwagger2Configuration{@Value(value="${swagger.enable}")privatebooleanswaggerEnable;@BeanpublicDocketcreateRestApi(){returnnewDocket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).enable(swaggerEnable).select().apis(RequestHandlerSelectors.any())//错误路径不监控.paths(Predicates.not(PathSelectors.regex("/error.*")))//对根下所有路径进行监控.paths(PathSelectors.regex("/.*")).build();}privateApiInfoapiInfo(){returnnewApiInfoBuilder().title("API").description("项目提供对外所有API,请查收。").termsOfServiceUrl("http://www.test.com").version("1.0").build();}}
经过此项配置类的编写完成,其实就差不多完成了本次的编写。
但是,还有一想并没有完成,就是配置类中的参数swaggerEnable,这个参数目前我们还没有配置,所以要在application.yml中增加这项配置。
在配置文件中加入如下代码:
swagger:enable:true
增加了这项配置后,就可以正常访问页面,相应的页面地址是localhost:8080/swagger-ui.html,如此就可以得到文章开始的效果了。