1、swagger配置,将Docket对象注入到容器中
2、通过对Docket对象设置属性,配置swagger文档
3、可配置swagger的info、接口扫描方式、该环境是否启动(判断environment)、api文档分组等功能
4、注解:
@EnableSwagger2 swagger配置类上, 开启swagger
@ApiOperation 在接口方法上配置
@ApiModel 实体类注解
@ApiModelProperty 实体类属性注解
Swagger
学习目标:
- 了解Swagger的作用和概念
- 了解前后端分离
- 在springboot中集成Swagger
Swagger简介:
前后端分离
Vue+SpringBoot
后端时代:前端只用管理静态页面;模板引擎JSP =》后端主力
前后端分离:
- 后端:后端控制层,服务层,数据访问层
- 前端:前端控制层,视图层
- 前端伪造后端Json,数据已经存在了,不需要后端,前端工程也能跑起来
- 前后端如何交互?=》API接口
- 前后端相对独立,松耦合
- 前后端甚至可以部署在不同的服务器上
前后端产生一个问题:前后端集成联调,无法做到“即时协商,协调解决”,导致问题集中爆发。
解决方案:制定schema[计划],实时更新API,降低集成风险
Swagger
- 号称世界上最流程的 Api 框架
- Restful 风格Api文档在线自动生成工具==》Api定义与文档同步更新
- 直接运行,在线测试Api接口
-支持多种语言【java、php】
SpringBoot集成Swagger
1、集成swagger
- 新建springboot的web项目,导入Swagger依赖包
<!--3.0.0版本需要导入springfox-boot-starter依赖才能打开swagger的ui页面-->
<!--推荐使用2.9.2版本,3.0.0版本配置自定义Docket会有问题-->
<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>
- 编写Swagger配置类,注解 @EnableSwagger2 开启Swagger
@Configuration
@EnableSwagger2 //开启Swagger
public class SwaggerConfig {
}
- 访问 http://localhost:8081/swagger-ui.html
2、配置swagger
Swagger的bean实例Docket;
//配置了swagger的 Docket的 bean实例
@Bean
public Docket docket(){
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo());W//设置接口信息及作者信息W
}
//配置Swagger信息ApiInfo
public ApiInfo apiInfo(){
//作者信息
Contact contact = new Contact("王罕的Contact", "http://www.by2253.com", "592844440@qq.com");
return new ApiInfo(
"王罕的swagger",
"再小的帆也能远航",
"1.0",
"http://www.by2253.com",
contact,
"Apache 2.0",
"http://www.apache.org/licenses/LICENSE-2.0",
new ArrayList()
);
}
3、swagger配置扫描接口
Docket.select()方法
@Bean
public Docket docket(){
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())//设置接口信息及作者信息
.select