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.springfoxspringfox-swagger23.0.0


io.springfoxspringfox-swagger-ui3.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;
    }
    
  1. 在这里插入图片描述

  2. 如何给生成的Swagger文档加注释?
    • 给实体类加注释如下:
    1. 在这里插入图片描述
    • 俩注解作用:只是注释而已
    • 给接口加注释如下:
    1. 在这里插入图片描述
    • 一般只写到一些难理解的实体类(属性)或者接口上,不然写死人不偿命

Swagger到到此就基本内容结束了,后面是扩展内容

1.Swagger测试功能

  1. 测试开始

在这里插入图片描述

  1. 输入模拟

在这里插入图片描述

  1. 测试结果

在这里插入图片描述

总结:

  • 访问网址:http://localhost:8080/swagger-ui.html 【localhost:8080/根据个人接口及路径】

  • 我们可以通过Swagger给一些比较难理解的属性或者接口,增加注释信息

  • 接口文档实时更新

  • 可以在线测试

  • 缺点:使用后运行会变慢

  • 诞生原因:前后端分离

【注意点】在正式发布的时候,关闭Swagger!!!【出于安全和减少运行的内存】

学习随笔多半会重复
学习随笔多半会重复
学习随笔多半会重复
学习随笔多半会重复
学习随笔多半会重复
学习随笔多半会重复
学习随笔多半会重复
学习随笔多半会重复
学习随笔多半会重复
学习随笔多半会重复
学习随笔多半会重复
学习随笔多半会重复
学习随笔多半会重复
学习随笔多半会重复
学习随笔多半会重复
学习随笔多半会重复


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部