Version: Next

配置API文档分组

.groupName("bsx")

如何配置多个组——配置多个Docket

//配置Swagger2 Docket Bean实例
@Bean
public Docket docket(Environment environment) {
//获取当前环境
Profiles profiles = Profiles.of("dev", "test");
boolean flag = environment.acceptsProfiles(profiles);
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.groupName("bsx")
//关闭swagger
.enable(flag)
.select()
//.paths(PathSelectors.ant("/test/**"))
.apis(RequestHandlerSelectors.basePackage("com.bsx.springboot07swagger.controller")).build();
}
@Bean
public Docket dokcet1() {
return new Docket(DocumentationType.SWAGGER_2).groupName("group 1");
}
@Bean
public Docket dokcet2() {
return new Docket(DocumentationType.SWAGGER_2).groupName("group 2");
}

配置文档注释

只要接口返回值中存在实体类,他就会报扫描到Swagger中

@Api

一般加在模块上

@ApiModel + @ApiModelProperty

  • @ApiModel——加在实体类上的注释
  • @ApiModelProperty——加在实体类属性上的注释

@ApiOperation + @ApiParam

  • @ApiOperation——加在Controller方法上的注释
  • @ApiParam——加在Controller形参上的注释
大坑

坑!用了这个会使POST方式变为GET

@Api("hello控制类")
@RestController
public class HelloController {
@GetMapping("/hello")
public String hello() {
return "hello";
}
@ApiOperation("输出一个Alice用户的接口")
@PostMapping("/user")
public User user() {
return new User("Alice", "123456");
}
@ApiOperation("输入名字的接口")
@PostMapping("/username")
public String username(String username){
return username;
}
}

使用Swagger测试接口