首页 > 编程语言 > 详细

SpringBoot集成Swagger

时间:2021-04-16 18:00:44      阅读:13      评论:0      收藏:0      [点我收藏+]

Swagger

一、快速开始

1.添加依赖

<!--Swagger-->
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.9.2</version>
</dependency>
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>2.9.2</version>
</dependency>

2.创建Swagger配置类

SwaggerConfig

package com.zhoupiyao.config;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
@EnableSwagger2 //开启swagger
@Configuration
public class SwaggerConfig {

}

3.访问Swagger页面

http://localhost:8080/swagger-ui.html

技术分享图片

二、配置Swagger

@Bean
  public Docket docket(Environment environment){
      boolean flag = environment.getActiveProfiles().equals("dev");

      return new Docket(DocumentationType.SWAGGER_2)
              .apiInfo(apiInfo())
              //是否启用swagger,默认true
              .enable(false)
              .select()
//                .apis(RequestHandlerSelectors.withMethodAnnotation(ResponseBody.class))
              //basePackage():配置接口扫描包路径
              //any():扫描所有路径下接口
              //none(): 不扫描任何路径下的接口
              //withMethodAnnotation():扫描方法上带有指定注解的接口
              //withClassAnnotation():扫描类上带有指定注解的接口
              .build();

  }

通过控制配置文件中的开发环境来控制swagger是否开启

//获取并判断当前开发环境是否为dev 
boolean flag = environment.getActiveProfiles()[0].equals("dev");
//如果是则返回true,表示开启swagger
return new Docket(DocumentationType.SWAGGER_2)
              //是否启用swagger,默认true
              .enable(flag)

或者通过以下方法指定多个开发环境是否开启swagger

//获取并判断当前开发环境是否为dev或prod
boolean flag = environment.acceptsProfiles(Profiles.of("dev", "prod"));
//如果是则返回true,表示开启swagger
return new Docket(DocumentationType.SWAGGER_2)
              //是否启用swagger,默认true
              .enable(flag)

当指定的开发环境没有开启swagger时:

技术分享图片

三、接口分组

创建多个Docket并添加@Bean注解

.groupName("周飘")
  
@Bean
public Docket docket1(){
    return new Docket(DocumentationType.SWAGGER_2).groupName("A");
}
@Bean
public Docket docket1(){
    return new Docket(DocumentationType.SWAGGER_2).groupName("B");
}

技术分享图片

再通过扫描指定包或注解来绑定不同组下面的接口。

四、接口注释

1.@Api、@ApiModel

@Api给Controller类添加Swagger文档标注

@ApiModel给实体类添加Swagger文档标注

//给Controller类添加Swagger文档标注
@Api(tags = "Hello控制类")
//给实体类添加Swagger文档标注
@ApiModel("用户实体类")

技术分享图片

技术分享图片

2.@ApiModelProperty

给实体类添加Swagger文档标注

@ApiModelProperty("用户名")

技术分享图片

3.@ApiOperation

给Controller类的方法添加Swagger文档标注

 @ApiOperation("通过username获取用户")

技术分享图片

SpringBoot集成Swagger

原文:https://www.cnblogs.com/yzxzpy-1012/p/14666453.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!