Swagger2的使用

手寫Api文檔的幾個痛點:

  1. 文檔需要更新的時候,需要再次發送一份給前端,也就是文檔更新交流不及時。

  2. 接口返回結果不明確

  3. 不能直接在線測試接口,通常需要使用工具,比如postman

  4. 接口文檔太多,不好管理

Swagger也就是為了解決這個問題,當然也不能說Swagger就一定是完美的,當然也有缺點,最明顯的就是代碼移入性比較強。

其他的不多說,想要了解Swagger的,可以去Swagger官網,可以直接使用Swagger editor編寫接口文檔,當然我們這里講解的是SpringBoot整合Swagger2,直接生成接口文檔的方式。

添加相關的依賴

<!-- swagger 文檔 ?一些注解都是在這個包里面的-->
<dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.6.1</version>
</dependency>
<!-- swagger-ui.html 在線頁面-->
<dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger-ui</artifactId><version>2.6.1</version>
</dependency>

@Api:用在請求的類上,表示對類的說明(不配置默認是按類名駝峰變下劃線顯示)value:該參數沒什么意義,在UI界面上也看到,所以不需要配置tags:說明該類的作用,可以在UI界面上看到的注解description:對api資源的描述basePath:基本路徑position:如果配置多個Api 想改變顯示的順序位置produces:如 “application/json, application/xml”consumes:如 “application/json, application/xml”protocols:協議類型,如: http, https, ws, wss.authorizations:高級特性認證時配置hidden:配置為true ,將在文檔中隱藏
@ApiOperation:用在請求的方法上,說明方法的用途、作用value:說明方法的用途、作用tags:如果設置這個值、value的值會被覆蓋notes:方法的備注說明description:對api資源的描述
@ApiImplicitParams:用在請求的方法上,表示一組參數說明@ApiImplicitParam:用在@ApiImplicitParams注解中,指定一個請求參數的各個方面name:參數名value:參數的漢字說明、解釋required:參數是否必須傳paramType:參數放在哪個地方· header --> 請求參數的獲取:@RequestHeader· query --> 請求參數的獲取:@RequestParam· path(用于restful接口)--> 請求參數的獲取:@PathVariable· div(不常用)· form(不常用) ? ?dataType:參數類型,默認String,其它值dataType="Integer" ? ? ? defaultValue:參數的默認值
@ApiParam() 用于方法,參數,字段說明;表示對參數的添加元數據(說明或是否必填等)name:參數名value:參數說明required:是否必填
@ApiResponses:用在請求的方法上,表示一組響應@ApiResponse:用在@ApiResponses中,一般用于表達一個錯誤的響應信息code:數字,例如400message:信息,例如"請求參數沒填好"response:拋出異常的類
@ApiModel:用于pojo類上,描述一個Model的信息
(一般用在請求參數無法使用@ApiImplicitParam注解進行描述的時候,比如使用@RequestBody這樣的場景)
@ApiModelProperty:用在屬性上,描述一個model的屬性
@ApiIgnore:注解類、參數、方法,注解后將不在Swagger UI中顯示
?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/211469.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/211469.shtml
英文地址,請注明出處:http://en.pswp.cn/news/211469.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

gin投票項目4

對應視頻v2版本 gin項目投票系統4 1.增加一個注冊賬號的功能 增加接口 參數校驗&#xff1a;&#xff08;需求&#xff09; 確認密碼需要一致&#xff0c;不為空用戶名必須唯一, 不為空用戶名大于8小于16位密碼大于8小于16位,并且不能為純數字 正則表達式 必須知道這東西…

我對遷移學習的一點理解(系列2)

文章目錄 我對遷移學習的一點理解 我對遷移學習的一點理解 源域和目標域是相對的概念&#xff0c;指的是在遷移學習任務中涉及到的兩個不同的數據集或領域。 源域&#xff08;Source Domain&#xff09;通常指的是已經進行過訓練和學習的數據集&#xff0c;它被用來提取特征、…

Nginx緩存及HTTPS配置小記

緩存基礎 緩存分類 某些場景下&#xff0c;Nginx需要通過worker到上有服務中獲取數據并將結果響應給客戶端&#xff0c;在高并發場景下&#xff0c;我們完全可以將這些數據視為熱點數據&#xff0c;并將其緩存到Nginx服務上。 客戶端緩存&#xff1a;將緩存數據放到客戶端。 …

yolov8與yolov5網絡對比

回顧一下YOLOv5&#xff0c;不然沒機會了 這里粗略回顧一下&#xff0c;這里直接提供YOLOv5的整理的結構圖吧&#xff1a; Backbone&#xff1a;CSPDarkNet結構&#xff0c;主要結構思想的體現在C3模塊&#xff0c;這里也是梯度分流的主要思想所在的地方&#xff1b;PAN-FPN&…

OFDM模糊函數仿真

文章目錄 前言一、OFDM 信號及模糊函數1、OFDM 信號表達式2、模糊函數表達式 二、MATLAB 仿真1、MATLAB 核心源碼2、仿真結果①、OFDM 模糊函數②、OFDM 距離模糊函數③、OFDM 速度模糊函數 前言 本文進行 OFDM 的仿真&#xff0c;首先看一下 OFDM 的模糊函數仿真效果&#xf…

【vim】常用操作

用的時候看看&#xff0c;記太多也沒用&#xff0c;下面都是最常用的&#xff0c;更多去查文檔vim指令集。 以下均為正常模式下面操作&#xff0c;正在編輯的&#xff0c;先etc一下. 1/拷貝當前行 yy&#xff0c;5yy為拷貝包含當前行往下五行 2/p將拷貝的東西粘貼到當前行下…

Nmap腳本的應用場景

網絡安全檢測和漏洞掃描 Nmap腳本是一種強大的工具&#xff0c;可以用于網絡安全檢測和漏洞掃描。在滲透測試工程師的角度下&#xff0c;本文將詳細闡述Nmap腳本的應用場景&#xff0c;以及如何使用Nmap腳本進行網絡安全檢測和漏洞掃描。 一、Nmap腳本的應用場景 Nmap腳本在滲…

Java、JDK、JRE、JVM

Java、JDK、JRE、JVM 一、 Java 廣義上看&#xff0c;Kotlin、JRuby等運行于Java虛擬機上的編程語言以及相關的程序都屬于Java體系的一員。從傳統意義上看&#xff0c;Java社區規定的Java技術體系包括以下幾個部分&#xff1a; Java程序設計語言各種硬件平臺上的Java虛擬機實…

vue的知識點

Vue.js是一個漸進式JavaScript框架&#xff0c;用于簡化Web應用程序開發和管理。下面是Vue.js的一些核心知識點&#xff1a; 1. 數據綁定&#xff1a;Vue.js通過指令和模板語法實現了雙向數據綁定&#xff0c;可以實時更新視圖和模型之間的數據。 2. 組件化開發&#xff1a;V…

【力扣】移除鏈表元素203

目錄 1.前言2. 題目描述3. 題目分析3.1 不帶哨兵位3.2 帶哨兵位 4. 附代碼4.1 不帶哨兵位4.2 帶哨兵位 1.前言 這里開始介紹從網上一些刷題網站上的題目&#xff0c;在這里做一些分享&#xff0c;和學習記錄。 先來介紹一些力扣的OJ題目。 這里的OJ就是我們不需要寫主函數&…

數據表記錄的操作

一、數據添加 1、打開SSMS&#xff0c;附加數據庫&#xff08;數據庫文件在自己的文件夾下面&#xff09;&#xff0c;并進行下面的設置&#xff1a; &#xff08;1&#xff09;設置“部門信息”表中的“編號”為主鍵&#xff08;SSMS&#xff09; 首先建立好所需的數據庫庫…

華為OD機試 - 生成哈夫曼樹(Java JS Python C)

題目描述 給定長度為 n 的無序的數字數組,每個數字代表二叉樹的葉子節點的權值,數字數組的值均大于等于1。 請完成一個函數,根據輸入的數字數組,生成哈夫曼樹,并將哈夫曼樹按照中序遍歷輸出。 為了保證輸出的二叉樹中序遍歷結果統一,增加以下限制: 二叉樹節點中,左節…

java中什么是線程池?

線程池&#xff08;Thread Pool&#xff09;是一種線程管理的機制&#xff0c;它主要解決了線程生命周期的開銷和資源消耗問題。線程池在程序中創建一些預先定義數量的線程&#xff0c;將任務分配給這些線程&#xff0c;從而提高了線程的重用性和性能。線程池的核心思想是將創建…

為 Compose MultiPlatform 添加 C/C++ 支持(3):實戰 Desktop、Android、iOS 調用同一個 C/C++ 代碼

theme: serene-rose 前言 在本系列的前兩篇文章中我們已經學會了如何在 kotlin native 平臺&#xff08;iOS&#xff09;使用 cinterop 調用 C/C 代碼。以及在 jvm 平臺&#xff08;Android、Desktop&#xff09;使用 jni 調用 C/C 代碼&#xff0c;并且知道了如何自動編譯 A…

Git 五分鐘教程速度入門

Git 五分鐘教程速度入門 分類 編程技術 許多人認為 Git 太混亂&#xff0c;或認為它是一種復雜的版本控制系統&#xff0c;其實不然&#xff0c;這篇文章有助于大家快速上手使用 Git。 入門 使用Git前&#xff0c;需要先建立一個倉庫(repository)。您可以使用一個已經存在的…

Win10操作系統安裝Python

1 Python解釋器下載 1.1 安裝環境 Windows 10 專業工作站版22H2 python-3.9.6-amd64.exe 1.2 下載地址 Python官網&#xff1a;Welcome to Python.org Python鏡像&#xff1a;CNPM Binaries Mirror 2 Python解釋器安裝 2.1 Install Python 3.9.6 (64-bit)界面 雙擊運行下…

鴻蒙開發組件之list

1、鴻蒙中的list作為可滑動列表功能&#xff0c;初始化方式是 List({space: 10}){ForEach(arr, item > {ListItem() {//列表單個Item組件}})} 其中&#xff0c;List中的space可以設置兩個ListItem組件的間距 List中是一個ForEach&#xff0c;需要注意的是item要返回的是L…

【數據結構】面試OJ題———棧|隊列|互相實現|循環隊列|括號匹配

目錄 1. 有效的括號 思路&#xff1a; 2.用隊列實現棧 思路&#xff1a; 3.用棧實現隊列 思路&#xff1a; 4.設計循環隊列 思路&#xff1a; 1. 有效的括號 20. 有效的括號 - 力扣&#xff08;LeetCode&#xff09; 給定一個只包括 (&#xff0c;)&#xff0c;{&…

Hive SQL間隔連續問題

問題引入 下面是某游戲公司記錄的用戶每日登錄數據, 計算每個用戶最大的連續登錄天數&#xff0c;定義連續登錄時可以間隔一天。舉例&#xff1a;如果一個用戶在 1,3,5,6,9 登錄了游戲&#xff0c;則視為連續 6 天登錄。 id dt1001 2021-12-121002 2021-12-12…

visual studio code 好用的插件

vscode-icons Better comments 該插件對不同類型的注釋會附加了不同的顏色&#xff0c;更加方便區分&#xff0c;幫助我們在代碼中創建更人性化的注釋。 Error Lens Error Lens插件是一款可以檢測你編寫的代碼的語法錯誤&#xff0c;并且會顯示出對語法錯誤的診斷信息…