谈谈你对Swagger工作流程的理解?

开发 前端
Swagger 是一套基于 OpenAPI 规范构建的开源工具,可以帮助我们设计、构建、记录以及使用 Rest API。

现在的Java开发,一般都会用到API生成工具Open API,今天一位工作2年的小伙伴突然被问到Swagger工作流程,一下子无言以对。于是,来找到我,希望我能科普一下。

今天,我给大家分享一下我的理解。

1、Swagger简介

记得多年以前,在Swagger还没有出现的时候,我还用自己手写的Maven插件,来实现自动生成API的功能。界面有点丑,给大家秀一下:

图片

图片

当时,还想着开源,后来Swagger问世之后,我就把源码从github上下了。

Swagger 是一套基于 OpenAPI 规范构建的开源工具,可以帮助我们设计、构建、记录以及使用 Rest API。Swagger 主要包含了以下三个部分:

图片

Swagger Editor:基于浏览器的编辑器,我们可以使用它编写我们 OpenAPI 规范。

Swagger UI:它会将我们编写的 OpenAPI 规范呈现为交互式的 API 文档。

Swagger Codegen:它可以通过为 OpenAPI规范定义的任何 API 生成服务器存根和客户端 SDK 来简化构建过程。

2、为什么要使用 Swagger

在前后端分离开发以后,维持一份及时更新且完整的 Rest API 文档,能够极大的提高的开发效率。传统意义上的文档都是后端开发人员手动编写的,一般是以Doc或者是md等形式离线传播。而在开发阶段,接口修改非常频繁,就很难保证文档更新的及时性,久而久之就失去了参考意义,反而还会加大团建之间的沟通成本。

图片

图片

而 Swagger 给我们提供了一个全新的维护 API 文档的方式,只要项目发布,就能够自动更新,而且可以同步到线上,使用者只需要记住一个固定的网址,实时刷新就能访问到最新版本的API文档了。下面我总结一下Swagger的主要优点:

图片

1)代码变,文档变。只需要少量的注解,Swagger 就可以根据代码自动生成 API 文档,很好的保证了文档的时效性。

2)跨语言性,支持 40 多种语言。

3)提供交互式的UI,我们可以直接在文档页面调试 API,省去了准备复杂的调试参数的过程。

4)还可以将文档导入到自动化测试工具中,快速生成测试报告。

3、Swagger工作流程

Swagger接口生成工作流程:

图片

1、系统启动时,扫描Swagger的配置类

2、在此类中指定来要扫描的包路径,找到在此包下及子包下标记@RestController注解的Controller类。还可以通过以下这些注解来灵活配置一些参数。

比如:配置发送错误返回的信息 @ApiError ,配置一个或者多个请求参数,@ApiImplicitParam、@ApiImplicitParams等等。

3、根据Controller类中的Swagger注解生成接口文档,启动项目,访问项目虚拟路径/swagger-ui,查看生成的文档内容。

责任编辑:武晓燕 来源: Tom弹架构
相关推荐

2022-09-06 11:13:16

接口PipelineHandler

2023-11-28 12:25:02

多线程安全

2022-06-30 09:10:33

NoSQLHBaseRedis

2022-09-19 07:57:59

云服务互联网基础设施

2024-09-11 16:49:55

2024-09-20 05:46:00

2011-08-08 15:14:11

PPPOE

2022-08-14 07:14:50

Kafka零拷贝

2022-09-09 10:15:06

OAuthJava

2022-03-21 09:05:18

volatileCPUJava

2024-10-24 16:14:43

数据传输CPU零拷贝

2022-08-26 00:21:44

IO模型线程

2011-03-31 10:54:01

Cacti工作流程

2022-09-23 11:00:27

KafkaZookeeper机制

2024-09-27 15:43:52

零拷贝DMAIO

2024-12-06 14:34:00

Spring过滤器

2022-06-10 11:51:49

MySQL事务隔离

2022-08-26 00:02:03

RocketMQ单体架构MQ

2024-08-27 12:36:33

2023-05-05 08:29:15

Spring后台服务器
点赞
收藏

51CTO技术栈公众号