swagger使用
来自狂神老师,b站自己搜索
1、介绍以及springboot集成
痛点
前后端联调无法做到及时协商,尽早解决,
使用步骤
1、新建项目
2、导入相关依赖
springfox-swagger2
springfox-swagger-ui
3、写一个hello工程
4、配置swagger==>Config
@Configuration
//开启swagger2
@EnableSwagger2
public class SwaggerConfig{
}
5、测试运行
2、配置swagger信息
swagger的bean示例Docket;
核心是文档插件,进入docket读源码
@Configuration
//开启swagger2
@EnableSwagger2
public class SwaggerConfig{
//配置swaggerbean实例
@Bean
public Docket docket(){
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo());
}
//配置apiInfo信息
private ApiInfo apiInfo(){
return new ApiInfo(
title:"djfjdkfj",
...
new ArrayList()
);
}
}
3、如何让swagger去扫描指定的接口
继续扩充
@Configuration
//开启swagger2
@EnableSwagger2
public class SwaggerConfig{
//配置swaggerbean实例
@Bean
public Docket docket(){
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
//配置要扫描接口的方式
.apis(RequestHandlerSelectors.basePackage("com.kuang.swagger.controller"))
//any() 全部
.build();
}
//配置apiInfo信息
private ApiInfo apiInfo(){
return new ApiInfo(
title:"djfjdkfj",
...
new ArrayList()
);
}
}
4、分组接口及设置小结
.groupName("狂神");
如何设置多个分组;多个docket实例即可
//只要接口返回值中存在实体类,就会扫描到swagger中
给实体类加文档注释
@ApiModel("用户")
public class User{
@ApiModelProperty("用户名")
public String username;
public String password;
}
@ApiOperration("hello控制器")
@RestController
public class HelloController{
//Operation接口
@ApiOperation("hello控制类")
@GetMapping(value="/hello")
public String hello(@ApiParam("用户名")String username){
return "hello"+username;
}
}
以上并不是最强大的地方
就是可以实时测试