背景
最近在学习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,如此就可以得到文章开始的效果了。