Swagger
目标:
- 了解Swagger的作用和概念
- 了解前后端分离
- 在SpringBoot中集成Swagger
Swagger 简介
前后端分离
Vue + SpringBoot
后端时代:前端只用管理静态页面;html==>后端。模板引擎 JSP=>后端是主力
前后端分离时代:
-
后端:后端控制层,服务层,数据访问层 【后端团队】
-
前端:前端控制层,视图层 【前端团队】
- 伪造后端数据,json。已经存在了,不需要后端,前端工程依旧能够运行
-
前后端如何交互?==> API
-
前后端相对独立,松耦合;
-
前后端甚至可以部署在不同的服务器上;
产生一个问题:
- 前后端集成联调,前端人员和后端人员无法做到“及时协商,尽早解决”,最终导致问题集中爆发;
解决方案:
- 首先指定schema[计划的提纲],实时更新最新最新API,降低集成的风险;
- 早些年:指定word计划文档;
- 前后端分离:
Swagger
- 号称世界上最流行的API框架;
- RestFul Api 文档在线自动生成工具 => Api文档与API定义同步更新
- 直接运行,可以在线测试API接口
- 支持多种语言:(Java、php …)
官网:https://swagger.io/
在项目使用Swagger需要 springbox;
- swagger2 ( swagger和swagger2 一个旧版一个新版的 )
- ui
SpringBoot集成Swagger
1、新建一个SpringBoot => web项目
2、导入相关依赖
<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
3、编写一个helloworld工程
4、配置Swagger ==> Config
// /config/SwaggerConfig
@Configuration
@EnableSwagger2 // 开启Swagger2
public class SwaggerConfig {
}
接口:
@RestController
public class HelloController {
// /error 算一个请求
@RequestMapping(value = "/hello")
public String hello(){
return "hello";
}
}
5、测试运行,默认就有访问界面:http://localhost:8080/swagger-ui.html
配置Swagger
Swagger 的bean实例 Docket