Swagger简介
- 前后端分离,主流框架用的是Vue+SpringBoot,前端负责写前端页面,后端写具体的业务,前后端使用json数据进行交互,后端负责把实现好的接口给前端,前端通过接口获得json数据,并渲染给页面,这样就实现了前后端分离,而Swagger就是能够让前后端更好交互的工具。
- RestFul API文档在线生成工具:API文档与API定义同步更新。
在SpringBoot项目中使用Swagger2
- 导入相关依赖
<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>
- 这个并不是springboot的包(不会自动装配),所以需要我们写配置类进行配置
@Configuration
@EnableSwagger2
public class SwaggerConfig{
// 配置了swagger的docket 的bean实例
@Bean
public Docket docket(Enviorment enviorment){
// 设置swagger要显示的环境,即生产版本下显示,开发版本下关闭
Profiles profiles = Profiles.of("dev");
// 通过acceptsProfiles 来判断是否在自己设置的环境中
boolen flag = enviorment.acceptsProfiles(profiles);
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo)
.groupName("cwx") // 配置分组的名字
.enable(flag); // 是否启动swagger,true启动,false关闭
.select()
// ResquestHandlerSelectors:配置要扫描接口的方式,basePackage:指定要扫描的包
.apis(ResquestHandlerSelectors.basePackage("com.cwx.controller"))
.build();
}
// 配置swagger 首页的一些信息
private ApiInfo apiInfo(){
Contact contact = new Contact("姓名name","URL","email");
return new ApiInfo(
"title",
"description描述",
"version",
"url",
contact,
"license Apache 2.0",
"licenseUrl ",
new ArrayList()
);
}
}
【总结】:Swagger主要是实现了文档在线实时生产和在线测试。
【注意点】:在正式发布的时候一定要关闭Swagger,不然就炸了。
网友评论