一、Swagger简介
1.1、前言
前后端分离
Vue + SpringBoot 当前主流的前后端分离技术栈
后端时代
前端只用管理静态页面,如html,其余的交给后端,而后端通过模板引擎,如jsp进行管理
前后端分离时代
后端:后端控制层(Controller),服务层(Service),数据访问层(Dao)
前端:前端控制层,视图层
伪造后端数据,json。前端伪造数据,不需要后端提供数据,依然能够运行,后端只需提供接口即可
前后端如何交互? ======》API
前后端分离好处
前后端相对独立,松耦合
前后端甚至可以部署在不同的服务器上
前后端分离问题:
前后端集成联调,前端人员和后端人员无法做到“即时协商”,最终可能导致问题集中爆发;
解决方案:
早期,制定scheme【计划的提纲】,实时更新最新的API,降低集成的风险;例如制定word计划文档
前后端分离:
前端测试后端接口:例如posman测试工具
后端提供接口,需要实时更新最新的消息及改动
1.2、Swagger出现
- 号称世界上最流行的Api框架;
- RestFul风格的Api文档在线自动生成工具=>Api文档与API定义同步更新
- 直接运行,可以在线测试API接口;
- 支持多种语言: (Java, php…)
1.3、在项目中使用Swagger
需要springfox
- swagger2
- ui
二、SpringBoot集成Swagger
2.1、新建SpringBoot的web项目
2.2、导入相关依赖
<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>
2.3、编写一个hello工程,测试项目
2.4、配置Swagger
2.5、测试运行
2.6、配置swagger运行程序报错
降低SpringBoot版本