Swagger
学习目标:
- 了解什么是Swagger
- 了解前后端分离
- 在SpringBoot中集成Swagger
Swagger简介
前后端分分离
Vue+SpringBoot
后端时代:前端只用管理静态页面;html==>后端。模板引擎JSP=>后端是主力
前后端分离时代:
- 后端:后端控制层,服务层,数据访问层
- 前端:前端控制层,视图层
- 伪造后端数据,json。已经存在了,不需要后端,前端工程依旧能够跑起来
- 前后端如何交互?==> API
- 前后端相对独立,松耦合;
- 前后端甚至可以部署在不同服务器上;
产生一个问题:
- 前后端集成联调,前端人员和后端人员无法做到及时协商,导致问题集中爆发
解决方案: - 首先指定schema[计划的提纲],实时更新最新的API,降低集成的风险
- 早些年:指定word计划文档,前端开发和后端开发人员共同参与。
- 前后端分离:
- 前端测试后端接口:postman
- 后端提供接口,需要实时更新最新的消息及改动
Swagger
- 号称世界上最流行的API框架
- RestFul API文档在线自动生成工具==>API文档与API定义同步更新
- 直接运行,可以在线测试API接口
- 支持多种语言,如Java,PHP等
官网:https://swagger.io/
在项目中使用Swagger需要springbox;
- swagger2
- ui
SpringBoot集成Swagger
- 导入依赖
<!-- 2.9版本-->
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-annotations</artifactId>
<version>1.5.21</version>
</dependency>
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-models</artifactId>
<version>1.5.21</version>
</dependency>
<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>
<