Swagger 安裝使用教程

一、Swagger 簡介

Swagger 是一套開放源代碼的 API 文檔生成工具鏈,現歸屬于 OpenAPI 規范。它支持 RESTful API 的定義、生成、測試和文檔自動化。常見的使用工具包括 Swagger UI、Swagger Editor、Swagger Codegen 以及 SpringFox(Spring 集成庫)。


二、常用組件說明

組件作用
Swagger UI可視化展示 API 接口文檔
Swagger Editor在線或本地編輯 OpenAPI 規范文件
Swagger Codegen從 OpenAPI 規范生成代碼
SpringFox集成 Swagger 到 Spring Boot 項目

三、Swagger UI 安裝與使用

3.1 下載方式

  • GitHub 地址:https://github.com/swagger-api/swagger-ui

3.2 本地運行步驟

  1. 下載源碼或 clone 倉庫:
git clone https://github.com/swagger-api/swagger-ui.git
cd swagger-ui
  1. 打開 dist/index.html 文件即可本地查看界面;

  2. 替換默認的 petstore 接口為你自己的 API 文檔地址:

const ui = SwaggerUIBundle({url: "http://localhost:8080/v2/api-docs", // 修改為你的文檔地址...
});

四、Spring Boot 項目集成 Swagger(使用 SpringFox)

4.1 添加 Maven 依賴

<dependency><groupId>io.springfox</groupId><artifactId>springfox-boot-starter</artifactId><version>3.0.0</version>
</dependency>

4.2 創建 Swagger 配置類

@Configuration
@EnableOpenApi
public class SwaggerConfig {@Beanpublic Docket api() {return new Docket(DocumentationType.OAS_30).select().apis(RequestHandlerSelectors.basePackage("com.example.controller")).paths(PathSelectors.any()).build();}
}

4.3 訪問地址

項目啟動后訪問:

http://localhost:8080/swagger-ui/index.html

五、Swagger Editor 使用(可本地部署)

  1. 下載地址:https://github.com/swagger-api/swagger-editor

  2. 運行方式:

docker pull swaggerapi/swagger-editor
docker run -d -p 8888:8080 swaggerapi/swagger-editor

訪問:http://localhost:8888


六、Swagger Codegen 使用

6.1 安裝方式(JAR 包)

  • 下載地址:https://repo1.maven.org/maven2/io/swagger/codegen/v3/swagger-codegen-cli/

6.2 生成代碼命令示例

java -jar swagger-codegen-cli.jar generate \-i http://localhost:8080/v2/api-docs \-l java \-o ./generated-client

七、常見問題

Q1: Spring Boot 3.x 無法使用 SpringFox?

SpringFox 與 Spring Boot 3 不兼容,建議使用 Springdoc OpenAPI 代替。

Q2: 接口文檔頁面空白?

請檢查 @RestController@RequestMapping 注解是否正確,或接口是否被掃描。


八、學習資源推薦

  • Swagger 官方文檔
  • OpenAPI 規范
  • Springdoc OpenAPI
  • B 站搜索“小奇Java面試”獲取視頻講解

本文由“小奇Java面試”原創發布,轉載請注明出處。

可以搜索【小奇JAVA面試】第一時間閱讀,回復【資料】獲取福利,回復【項目】獲取項目源碼,回復【簡歷模板】獲取簡歷模板,回復【學習路線圖】獲取學習路線圖。

在這里插入圖片描述

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

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

相關文章

【seismic unix相速度分析-頻散曲線】

介紹Seismic Unix Seismic Unix&#xff08;SU&#xff09;是一個開源的地震數據處理軟件包&#xff0c;主要用于地震數據的處理、分析和可視化。它由科羅拉多礦業學院的Center for Wave Phenomena開發&#xff0c;廣泛應用于學術研究和工業領域。SU提供了一系列命令行工具&am…

3.前端和后端參數不一致,后端接不到數據的解決方案

目錄 1.問題背景: (1).前端代碼: (2).后端代碼: (3).問題分析: [1]前端參數構造錯誤: [2].Api請求配置錯誤: 2.解決方案 (1).修改 role.js 中的 API 方法 (2).前端組件中的調用方式改成下面的而不是繼續拼接了 3.總結: 1.問題背景: 我在接口開發過程中&#xff0c;前…

SpringBoot:整合quartz實現定時任務-MisFire的處理

文章目錄 一、什么是MisFire二、MisFire發生的情況三、MisFire的補償策略四、代碼實現 一、什么是MisFire 簡單理解為&#xff1a;定時任務&#xff0c;所錯過的觸發 二、MisFire發生的情況 1、資源緊張&#xff0c;定時任務請求不到對應的線程。 2、調度器關閉。 3、設置定…

返回json,優雅處理轉換(如 0.85 → “85.00%“)

核心解決方案 通過 自定義序列化器 JsonSerialize 注解&#xff0c;實現 BigDecimal 到百分比字符串的自動轉換。 1.1 自定義序列化器代碼 java import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.databind.JsonSerializer; import com.fasterx…

大語言模型LLM在訓練/推理時的padding

討論的是在訓練大型語言模型&#xff08;Transformer-based models&#xff0c;比如GPT等&#xff09;時&#xff0c;文本序列的填充&#xff08;padding&#xff09;問題&#xff0c;即訓練和推理時分辨填充在序列的左側&#xff08;left padding&#xff09;或右側&#xff0…

50 個常用 Docker 命令

1. Docker 基礎命令 查看 Docker 版本 docker --version查看 Docker 運行狀態 systemctl status docker查看 Docker 信息 docker info查看幫助信息 docker help2. 鏡像管理 拉取鏡像 docker pull <鏡像名>查看本地鏡像 docker images刪除鏡像 docker rmi <鏡…

紋理貼圖算法研究論文綜述

紋理貼圖&#xff08;Texture Mapping&#xff09;是計算機圖形學和計算機視覺中的核心技術&#xff0c;廣泛應用于三維重建、游戲渲染、虛擬現實&#xff08;VR&#xff09;、增強現實&#xff08;AR&#xff09;等領域。對其算法的研究涵蓋了紋理生成、映射、縫合、優化等多個…

關于使用cursor tunnel鏈接vscode(避免1006 issue的做法)

詳細步驟 第 1 步&#xff1a;在你的本地機器上準備好 Cursor 這一步很簡單&#xff0c;你可能已經完成了。只需確保你的本地電腦上已經安裝了 Cursor 桌面應用程序。 要做的事&#xff1a;無&#xff0c;只需確保 Cursor 已安裝。 第 2 步&#xff1a;在遠程服務器上安裝 Curs…

Redis常見性能問題和解決方案有哪些

Redis 作為高性能的內存數據庫&#xff0c;在電商等高并發場景中廣泛使用&#xff0c;但可能因配置、使用不當或環境限制出現性能問題。以下是 Redis 常見的性能問題及其解決方案&#xff0c;結合電商場景&#xff0c;用中文簡潔說明&#xff1a;### 1. **高延遲&#xff08;響…

明遠智睿RK3588:創新了高性能,讓顧慮煙消云散

在科技浪潮的推動下&#xff0c;高性能開發已經成為眾多行業發展的核心驅動力。從智能交通的車路協同&#xff0c;到醫療領域的影像診斷&#xff1b;從智能家居的智能控制&#xff0c;到工業互聯網的智能制造&#xff0c;每一個領域都對模塊的性能提出了極高的要求。然而&#…

I Data Lab

萬事開頭難&#xff0c;尤其是和 0 與 1 打交道&#xff0c;和后面的實驗相比&#xff0c;這次只能算個熱身。但是喜歡運動的都知道&#xff0c;熱身很重要&#xff01;任務目標我們先來看看 Datalab 需要我們做什么。主要是通過這次的作業來熟悉整型及浮點數的位表達形式&…

SQLite 安裝使用教程

一、SQLite 簡介 SQLite 是一個輕量級的關系型數據庫管理系統&#xff0c;嵌入式、零配置、無需安裝服務器&#xff0c;廣泛應用于移動端開發&#xff08;如 Android&#xff09;、桌面應用、小型網站等場景。 二、下載安裝 2.1 官方網站下載 訪問 SQLite 官網 下載適用于操…

Python-Word文檔、PPT、PDF以及Pillow處理圖像詳解

Python操作Word和PowerPoint文件操作Word文檔命令來安裝python-docx三方庫。pip install python-docxfrom docx import Document from docx.shared import Inches, Pt, RGBColor from docx.enum.text import WD_ALIGN_PARAGRAPH from docx.enum.table import WD_TABLE_ALIGNMEN…

高可擴展屬性建模設計:架構師的全局思考與落地方案

在復雜業務系統中&#xff0c;動態屬性擴展始終是架構設計的核心難題之一。傳統方案如寬表設計和EAV&#xff08;實體-屬性-值&#xff09;模型分別在性能與擴展性上各有優勢與劣勢&#xff0c;但也都有明顯局限。 為了兼顧性能、擴展性、維護成本&#xff0c;需要引入更靈活的…

數據結構入門:鏈表

鏈式存儲結構通過使用指針將分散的存儲單元鏈接起來&#xff0c;每個元素由數據部分和指針部分組成。 鏈式表的定義和特點 鏈式表的每個節點包含兩個部分&#xff1a; 數據域&#xff1a;存儲數據元素。指針域&#xff1a;存儲下一個節點的內存地址。 鏈式表的頭指針指向第一個…

達夢數據庫DMHS介紹及安裝部署

目錄 概述 安裝規劃 安裝步驟 上傳安裝包 更改權限 執行安裝命令 源端和目的端處理 開啟歸檔 開啟邏輯日志 創建測試表 生成測試數據 配置目的端文件 配置源端文件 啟動目的端 啟動源端 裝載數據 源端開啟cpt模塊 數據同步驗證 隨機數據驗證 概述 達夢數據實時同…

BERT 模型詳解:結構、原理解析

前言 在自然語言處理&#xff08;NLP&#xff09;領域&#xff0c;BERT&#xff08;Bidirectional Encoder Representations from Transformers&#xff09;已經成為理解類任務的標配模型。相比 GPT 更擅長文本生成&#xff0c;BERT 則在語言理解任務上展現出卓越的能力。本文…

一、bfv_basics

目錄 一、加密參數 EncryptionParameters類1. 三個重要的參數2. 參數的作用3. 同態加密方案4. 多項式模數的度 poly_modulus_degree (n)5. 密文模數 coeff_modulus (q)6. 明文模數 plain_modulus (t&#xff0c;這是 BFV 方案才有的&#xff0c;CKKS 沒有) 二、上下文 SEALCont…

AI大模型LangChain架構介紹及其在環保領域的應用

1.LangChain 概述與架構 LangChain 是一個面向大型語言模型&#xff08;LLM&#xff09;應用的開發框架&#xff0c;其核心理念是將復雜的基于語言的 AI 系統拆分為可復用的模塊&#xff0c;簡化 LLM 與數據源的集成。LangChain 官方文檔將其定義為“一個用于開發以 LLM 為驅動…

centos 7 安裝NVIDIA Container Toolkit

要在 CentOS 7 上離線安裝 NVIDIA Container Toolkit&#xff0c;需確保已安裝 NVIDIA 驅動和 Docker 環境。以下是完整步驟及注意事項&#xff1a; ?? 一、環境準備 驗證 NVIDIA 驅動 運行 nvidia-smi 確認驅動已正確安裝&#xff0c;若未安裝需先離線安裝驅動&#xff1a; …