学习目标:
-
了解Swagger的作用和概念
-
了解前后端分离
-
在Springboot中集成Swagger
-
Swagger简单配置使用
前后端分离式时代:
-
后端:后端控制层,服务层,数据访问层【后端团队】
-
前端:前端控制层,视图层【前端团队】
伪造后端数据,JSON。在开发的时候就已经存在,不需要后端,前端工程依旧能够跑
-
前后端如何交互-------通过API接口
-
前后端相对独立,松耦合
-
前后端甚至可以部署在不同的服务器上
产生一个问题:
前后端集成联调,前端人员和后端人员无法做到“即时协商,尽早解决”,最终导致问题集中爆发
解决方案:
-
首先制定schema{计划的提纲},实时更新最新的API,降低集成的风险
-
早些年:制定Word计划文档,传统方式是文档设计好之后,分别发给前端和后端人员。这样有个缺点,接口信息一旦变化,文档就需要重新发送给前后端人员。无法做到实时。所以浪费时间和精力。
-
前后端分离:前端测试后端接口,后端提供接口,需要实时更新最新的信息及改动
前端和后端的唯一联系,变成了API接口;API文档变成了前后端开发人员联系的纽带,变得越来越重要,swagger就是一款让你更好的书写API文档的框架。
Swagger应运而生
-
号称世界上最流行的API框架
-
这是RestFul风格的API,文档在线自动生成工具=>API文档与API定义同步更新
-
直接运行,可以在线 测试API接口
-
支持多种语言
Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务,后端集成下Swagger,然后就可以提供一个在线文档地址给前端同学。
在项目中使用Swagger,需要两个jar包(springfox-Swagger):swagger2、ui
Springboot集成Swagger
-
新建一个Springboot项目,添加web依赖
2.导入相关依赖
pom引入jar,最新的3.0.0版本会报404,有点Bug,所以出现请选择2.9.2
<!--可以只引入该包,这个包包含了所有依赖,暴露/doc.html页面-->
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-boot-starter</artifactId>
<version>2.0.1</version>
</dependency>
<!--可选,引入后,原/swagger-ui.html提供的页面仍可正常使用-->
<dependency>
<groupId&g