09_17_第七阶段:微服务开发||01-SpringBoot||16Swagger介绍及集成【观看狂神随笔】
Swagger
学习目标
- 了解Swagger的作用和概念
- 了解前后端分离
- 在SpringBoot中集成Swagger
1.Swagger简介
前后端分离
Vue + SpringBoot
早期后端时代:前端只用管理静态页面;html==>后端。模板引擎(如:JSP) =>后端是主力
前后端分离式时代:
-
后端:后端控制层,服务层,数据访问层【后端团队】
- 提供一堆Controller接口
-
前端:前端控制层,视图层【前端团队】
-
伪造后端数据,json。这些json交互在写前端的时候就以及存在了,不需要后端,前后工程依旧可以跑起来
-
后端根据对应伪造数据给出接口即可
-
-
前后端如何交互?===>API
-
前后端相对独立,松耦合;
-
前后端甚至可以部署到不同的服务器上;
前后端分离式时代,会产生一个问题:
- 前后端集成联调,前端人员和后端人员无法做到**【及时协商,尽早解决】**(比如商量好后,前端随便加个字段,后端就要调整很多)
- 最终导致问题集中爆发;
解决方案:
- 首先指定一个schema[计划的提纲],实时更新最新API,降低集成的风险;
- 早些年:制定Word计划文档;
- 前后端分离:
- 前端测试后端接口:postman(第三方工具)——>建议快速开发用这个
- 后端提供接口,需要实时更新最新的消息及改动!
2.Swagger
- 号称世界上最流行的API框架;
- 风格:RestFul Api
- RestFul Api文档在线自动生成工具==>Api文档与API定义同步更新
- 直接运行,可以在线测试API接口【就是后端平常写的:Controller和RequestMapping】;
- 支持多种语言(Java,Php…)
官网:https://swagger.io/
3.在项目中使用Swagger,需要使用springbox【这个jar包里有两个需要的】
- swagger2
- ui
4.Springboot集成Swagger
1.新建一个SpringBoot=web项目
2.导入相关依赖

io.springfox springfox-swagger2 3.0.0
io.springfox springfox-swagger-ui 3.0.0
3.编写一个hello工程
4.配置Swagger==>Config
@Configuration
@EnableSwagger2 //开启Swagger2
public class SwaggerConfig{}
5.测试运行:
- 访问:http://localhost:8080/swagger-ui.html

5.配置Swagger
Swagger的bean实例:Docket;

配置Swagger的一些信息(自定义)
- 由于没有set方法,只有get和构造方法,所以只能这种方式

真实开发时候,一般只需要配置如下两个

6.Swagger配置扫描接口(自定义)
Docket.select();

7.配置是否启动Swagger

8.问:只希望在Swagger生产环境中使用,在发布的时候不使用?
- 判断是不是生产环境 flag = flase
- 注入enable(flag)




9.配置API文档的分组【公司常用】
.groupName("狂神");
问:如何配置多个分组;【可用于协同开发】

10.实体类配置
-
先写一个pojo
public class User {public String username;public String password; }
Swagger到到此就基本内容结束了,后面是扩展内容
1.Swagger测试功能
- 测试开始

- 输入模拟

- 测试结果

总结:
-
访问网址:http://localhost:8080/swagger-ui.html 【localhost:8080/根据个人接口及路径】
-
我们可以通过Swagger给一些比较难理解的属性或者接口,增加注释信息
-
接口文档实时更新
-
可以在线测试
-
缺点:使用后运行会变慢
-
诞生原因:前后端分离
【注意点】在正式发布的时候,关闭Swagger!!!【出于安全和减少运行的内存】
学习随笔多半会重复
学习随笔多半会重复
学习随笔多半会重复
学习随笔多半会重复
学习随笔多半会重复
学习随笔多半会重复
学习随笔多半会重复
学习随笔多半会重复
学习随笔多半会重复
学习随笔多半会重复
学习随笔多半会重复
学习随笔多半会重复
学习随笔多半会重复
学习随笔多半会重复
学习随笔多半会重复
学习随笔多半会重复
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!



