前后端分离
-
后端团队:
-
控制层、服务层、数据访问层
-
-
前端团队:
-
控制层、视图层
-
伪造测试数据,数据类型为json,不需要后端提供数据,前端工程也能正常运行
-
-
前后端交互:
-
通过API接口,后端提供正确的json类型的数据以及能访问这个数据的API接口,前端通过接口访问数据
-
-
前后端分离产生的问题:
-
前后端集成联调,需求发生变化无法做到即时协商,及时解决
-
-
问题解决办法:
-
后端:
提供接口,实时更新最新的消息及改动
-
前端:
测试后端生成的API是否可以连接成功
-
前端测试工具:
-
postman
-
Swagger
世界上最流行的API框架
Restful API文档在线自动生成工具
API文档与API定义实时同步更新
直接运行,可以在线测试API
-
-
2、SpringBoot集成Swagger
-
新建一个SpringBoot的web项目
-
导入swagger的依赖
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency> -
编写一个hello工程
-
集成Swagger
-
测试运行
启动项目,访问:http://localhost:8080/swagger-ui.html,出现以下页面
2.1 Docket构造方法
public Docket(DocumentationType documentationType) {
//Swagger基本信息
this.apiInfo = ApiInfo.DEFAULT;
//Swagger文档的分组
this.groupName = "default";
//Swagger的开关控制
this.enabled = true;
this.genericsNamingStrategy = new DefaultGenericTypeNamingStrategy();
this.applyDefaultResponseMessages = true;
this.host = "";
this.pathMapping = Optional.absent();
this.apiSelector = ApiSelector.DEFAULT;
this.enableUrlTemplating = false;
this.vendorExtensions = Lists.newArrayList();
this.documentationType = documentationType;
}
2.2 配置Swagger的基本信息
-
1、配置Swagger的Bean实例:Docket
-
查看ApiInfo的源码:
public class ApiInfo {
public static final Contact DEFAULT_CONTACT = new Contact("", "", "");
public static final ApiInfo DEFAULT;
private final String version;
private final String title;
private final String description;
private final String termsOfServiceUrl;
private final String license;
private final String licenseUrl;
private final Contact contact;
private final List<VendorExtension> vendorExtensions;
/** @deprecated */
-