Swagger简介
前后端分离
Vue + SpringBoot
后端时代:前端只用管理静态页面;html==> 后端。模板引擎 JSP =>后端是主力
前后端分离式时代:
- 后端 :后端控制层,服务层,数据访问层 【后端团队】
- 前端 :前端控制层,视图层 【前端团队】
- 伪造后端数据,json。已经存在了,不需要后端,前端工程依旧能够跑起来
- 前端后如何交互 ? ===> API
- 前后端相对独立,松耦合;
- 前后端甚至可以部署在不同的服务器上;
产生一个问题:
- 前后端集成联调,前端人员和后端人员无法做到 “即使协商, 尽早解决”,最终导致问题集中爆发;
解决方案:
- 首先指定schema[计划的提纲],实时更新最新API,降低集成的风险;
- 早些年:指定word计划文档;
- 前后端分离:
- 前端测试后端接口:postman
- 后端提供接口,需要实时更新最新的消息及改动!
Swagger特点
- 号称世界上最流行的Api框架;
- RestFul Api 文档在线自动生成工具=>Api文档与API定义同步更新
- 直接运行,可以在线测试API接口;
- 支持多种语言:(Java,Php…)
官网:[https://swagger.io/
SpringBoot 集成Swagger的使用
在项目使用Swagger需要 springbox;
- swagger2
- ui
项目结构
-
新建一个SpringBoot 的web项目
-
导入相关依赖
<!-- 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>
- 编写一个Hello工程
helloController文件编写:
package com.kuang.swagger.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.sql.SQLOutput;
@RestController
public class helloController {
@RequestMapping("/hello")
public String hello(){
return "hello";
}
}
- 配置Swagger ==