SpringBoot整合Swagger2

Swagger2介绍

前后端分离开发模式中,api文档是最好的沟通方式。
Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。

  • 及时性
    接口变更后,能够及时准确地通知相关前后端开发人员
  • 规范性
    并且保证接口的规范性,如接口的地址,请求方式,参数及响应格式和错误信息
  • 一致性
    接口信息一致,不会出现因开发人员拿到的文档版本不一致,而出现分歧
  • 可测性
    直接在接口文档上进行测试,以方便理解业务
常用注解介绍
序号 不浮出水面是否可以生存
@Api 注解可以用来标记 Controller 的功能
@ApiOperation 注解用来标记一个方法的作用
@ApilmplicitParam 注解用来描述一个参数,可以配置参数的中文含义,也可以给参数设置默认值,这样在接口测试的时候可以避免手动输入
@ApilmplicitParams 如果有多个参数,则需要使用多个 @ApilmplicitParam 注解来描述, 多个 @ApilmplicitParam 注解需要放在一个 @ApilmplicitParams 注解中
@ApiModel 如果参数是一个对象,则需要在对象所在的类上加上此注解
@ApiModelProperty 如果参数是一个对象,则需要在对应的属性上加上此注解,还需要在对象所在的类上加上 @ApiModel
@ApiIgnore 注解标识此参数可以忽略
基本使用
  • 添加依赖


    SpringBoot版本

    Swagger2版本
       
           io.springfox
           springfox-swagger2
           provided 
       
       
           io.springfox
           springfox-swagger-ui
           provided 
       
  • 创建swagger的配置类


@Configuration
@EnableSwagger2
public class SwaggerConfig {

   @Bean
   public Docket webApiConfig(){
       return new Docket(DocumentationType.SWAGGER_2)
               .groupName("webApi")
               .apiInfo(webApiInfo())
               .select()
               .paths(PathSelectors.any())
               .build();
   }

   private ApiInfo webApiInfo(){
       return new ApiInfoBuilder()
               .title("网站-课程中心API文档")
               .description("本文档描述了课程中心微服务接口定义")
               .version("1.0")
               .contact(new Contact("ZY", "http://qssqc.com", "[email protected]"))
               .build();
   }

}
访问测试

我的测试地址:http://localhost:8001/swagger-ui.html

你可能感兴趣的:(SpringBoot整合Swagger2)