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;
}
}