[15]SpringBoot集成Swagger2进行接口文档管理1

在决定使用Swagger进行接口文档管理后,开始SpringBoot与Swagger2的集成工作

集成

目前SpringBoot有两种使用Swagger的方式:

  • 引入swagger原生依赖springfox-swagger2和springfox-swagger2-ui
  • 引入国内Spring4All社区开发的依赖swagger-spring-boot-starter

Spring4All出品的依赖采取配置文件的方式进行配置,而原生依赖是通过java config类来设置的。

我对两种方式分别进行了测试,最后决定使用Spring4All的方式,但是两种方式还是记录一下

原生依赖方式

Maven添加依赖


	io.springfox
	springfox-swagger2
  2.9.2



	io.springfox
  springfox-swagger-ui
 	2.9.2

创建Swagger配置类

注意使用 EnableSwagger2 注解标注这个配置类是swagger配置类

@Configuration
@EnableSwagger2
public class SwaggerConfig {
    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.example"))
                .paths(PathSelectors.any())
                .build();
    }


    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("BlogStorm API文档")
                .description("BlogStorm")
                .contact(new Contact("BlogStorm", "https://blogstorm.lgf.im", "[email protected]"))
                .termsOfServiceUrl("https://blogstorm.lgf.im")
                .version("1.0")
                .build();
    }
}

缺点

在尝试这种方法后发现配置信息必须硬编码在代码中,无法通过配置文件进行灵活的配置

Spring4All版本

Spring4All社区的博主程序猿DD和小火两个人开发了Spring Boot Starter Swagger,目前已经在maven官方仓库上线了。
[15]SpringBoot集成Swagger2进行接口文档管理1_第1张图片

Maven引入依赖


    com.spring4all
    swagger-spring-boot-starter
    1.9.0.RELEASE

修改配置文件

这里可以通过配置文件灵活的修改配置了

swagger:
  base-path: /**
  base-package: 'blogstorm'
  title: 'swagger'
  description: '基于Swagger构建的SpringBoot RESTApi 文档'
  version: '1.0'
  contact:
    name: 'zu1k'
    url: 'https://lgf.im'
    email: '[email protected]'

你可能感兴趣的:(创新实践)