码迷,mamicode.com
首页 > 编程语言 > 详细

Swagger和springboot整合

时间:2020-04-11 20:48:51      阅读:67      评论:0      收藏:0      [点我收藏+]

标签:生成   return   map   request   key   use   get   file   实例   

Swagger

号称全世界最流行的api框架;

RestFul Api 文档在线自动生成工具=>Api文档与API定义同步更新

配置

<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 -->
<dependency>
  <groupId>io.springfox</groupId>
  <artifactId>springfox-swagger2</artifactId>
  <version>2.9.2</version>
</dependency>
?
<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui -->
<dependency>
  <groupId>io.springfox</groupId>
  <artifactId>springfox-swagger-ui</artifactId>
  <version>2.9.2</version>
</dependency>
?

简单的更改文档信息,主要看源码

@Configuration
@EnableSwagger2   //开启swagger2
public class SwaggerConfig {
?
   @Bean//配置swagger的Docket的bean实例
   public Docket docket(){
       return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo());
  }
?
   //重写apiInfo
   private ApiInfo apiInfo(){
       Contact contact = new Contact("", "", "");
       return new ApiInfo("Api Documentation",
               "Api Documentation",
               "1.0",
               "urn:tos",
               contact,
               "Apache 2.0",
               "http://www.apache.org/licenses/LICENSE-2.0",
               new ArrayList());
?
  }
}

配置扫描接口

@Configuration
@EnableSwagger2   //开启swagger2
public class SwaggerConfig {
?
  @Bean//配置swagger的Docket的bean实例
  public Docket docket(){
      return new Docket(DocumentationType.SWAGGER_2)
              .select()
              //RequestHandlerSelectors 配置要扫描接口的方式
              //basePackage 指定要扫描的包
              .apis(RequestHandlerSelectors.basePackage("com.lt.controller"))
              //过滤路径
              //ant()过滤的路径
              .paths(PathSelectors.ant("/"))
              .build();
  }
?
}

题目

我们只希望swagger在生产使用,在发布不使用。

使用 .enable() 判断

技术图片

 

 

@Configuration
@EnableSwagger2   //开启swagger2
public class SwaggerConfig {
?
   @Bean//配置swagger的Docket的bean实例
   public Docket docket(Environment environment){
       Profiles dev = Profiles.of("dev");
       boolean b = environment.acceptsProfiles(dev);//判断是否是当前文件
       return new Docket(DocumentationType.SWAGGER_2)
              .enable(b);
  }
?
}

分组

组名

.groupName("A")

如何分组:创建多个Docket即可如

@Configuration
@EnableSwagger2   //开启swagger2
public class SwaggerConfig {
?
  @Bean//配置swagger的Docket的bean实例
  public Docket docket1(){
      return new Docket(DocumentationType.SWAGGER_2)
              .groupName("A");
  }@Bean//配置swagger的Docket的bean实例
  public Docket docket2(){
      return new Docket(DocumentationType.SWAGGER_2)
              .groupName("B");
  }@Bean//配置swagger的Docket的bean实例
  public Docket docket3(){
      return new Docket(DocumentationType.SWAGGER_2)
              .groupName("C");
  }
?
}
?

接口注释

只要我们的接口中返回值有实体类就会存在到swagger。

    @GetMapping("/user")
  public User user(){
      return new User();
  }

@ApiModel("用户") 给实体类加标注

@ApiModel("用户")
public class User {
  public String userName;
  public String password;
}

@ApiOperation("111111") 给方法加注释

@ApiParam("2222")给参数加注释

    @ApiOperation("111111")
  public String user1( @ApiParam("2222") String userName ){
      return "new User()";
  }
}

@ApiModelProperty("用户名字") 给实体加注释

    @ApiModelProperty("用户名字")
  public String userName;

 

Swagger和springboot整合

标签:生成   return   map   request   key   use   get   file   实例   

原文地址:https://www.cnblogs.com/ltdh/p/12681702.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!