自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

談談你對Swagger工作流程的理解?

開發(fā) 前端
Swagger 是一套基于 OpenAPI 規(guī)范構建的開源工具,可以幫助我們設計、構建、記錄以及使用 Rest API。

現在的Java開發(fā),一般都會用到API生成工具Open API,今天一位工作2年的小伙伴突然被問到Swagger工作流程,一下子無言以對。于是,來找到我,希望我能科普一下。

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

1、Swagger簡介

記得多年以前,在Swagger還沒有出現的時候,我還用自己手寫的Maven插件,來實現自動生成API的功能。界面有點丑,給大家秀一下:

圖片

圖片

當時,還想著開源,后來Swagger問世之后,我就把源碼從github上下了。

Swagger 是一套基于 OpenAPI 規(guī)范構建的開源工具,可以幫助我們設計、構建、記錄以及使用 Rest API。Swagger 主要包含了以下三個部分:

圖片

Swagger Editor:基于瀏覽器的編輯器,我們可以使用它編寫我們 OpenAPI 規(guī)范。

Swagger UI:它會將我們編寫的 OpenAPI 規(guī)范呈現為交互式的 API 文檔。

Swagger Codegen:它可以通過為 OpenAPI規(guī)范定義的任何 API 生成服務器存根和客戶端 SDK 來簡化構建過程。

2、為什么要使用 Swagger

在前后端分離開發(fā)以后,維持一份及時更新且完整的 Rest API 文檔,能夠極大的提高的開發(fā)效率。傳統意義上的文檔都是后端開發(fā)人員手動編寫的,一般是以Doc或者是md等形式離線傳播。而在開發(fā)階段,接口修改非常頻繁,就很難保證文檔更新的及時性,久而久之就失去了參考意義,反而還會加大團建之間的溝通成本。

圖片

圖片

而 Swagger 給我們提供了一個全新的維護 API 文檔的方式,只要項目發(fā)布,就能夠自動更新,而且可以同步到線上,使用者只需要記住一個固定的網址,實時刷新就能訪問到最新版本的API文檔了。下面我總結一下Swagger的主要優(yōu)點:

圖片

1)代碼變,文檔變。只需要少量的注解,Swagger 就可以根據代碼自動生成 API 文檔,很好的保證了文檔的時效性。

2)跨語言性,支持 40 多種語言。

3)提供交互式的UI,我們可以直接在文檔頁面調試 API,省去了準備復雜的調試參數的過程。

4)還可以將文檔導入到自動化測試工具中,快速生成測試報告。

3、Swagger工作流程

Swagger接口生成工作流程:

圖片

1、系統啟動時,掃描Swagger的配置類

2、在此類中指定來要掃描的包路徑,找到在此包下及子包下標記@RestController注解的Controller類。還可以通過以下這些注解來靈活配置一些參數。

比如:配置發(fā)送錯誤返回的信息 @ApiError ,配置一個或者多個請求參數,@ApiImplicitParam、@ApiImplicitParams等等。

3、根據Controller類中的Swagger注解生成接口文檔,啟動項目,訪問項目虛擬路徑/swagger-ui,查看生成的文檔內容。

責任編輯:武曉燕 來源: Tom彈架構
相關推薦

2022-09-06 11:13:16

接口PipelineHandler

2022-06-30 09:10:33

NoSQLHBaseRedis

2023-11-28 12:25:02

多線程安全

2022-09-19 07:57:59

云服務互聯網基礎設施

2024-09-20 05:46:00

2024-09-11 16:49:55

2011-08-08 15:14:11

PPPOE

2022-08-14 07:14:50

Kafka零拷貝

2022-09-09 10:15:06

OAuthJava

2011-03-31 10:54:01

Cacti工作流程

2025-03-21 00:00:05

Reactor設計模式I/O 機制

2024-10-24 16:14:43

數據傳輸CPU零拷貝

2022-03-21 09:05:18

volatileCPUJava

2022-08-26 00:21:44

IO模型線程

2025-03-07 00:11:00

JWTJSONSession

2024-12-06 14:34:00

Spring過濾器

2025-02-21 15:25:54

虛擬線程輕量級

2022-09-23 11:00:27

KafkaZookeeper機制

2024-09-27 15:43:52

零拷貝DMAIO

2022-06-10 11:51:49

MySQL事務隔離
點贊
收藏

51CTO技術棧公眾號