最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot使用SpringDoc+OpenAPI3.0實現(xiàn)接口文檔自動生成

 更新時間:2026年03月31日 09:32:15   作者:希望永不加班  
本文介紹了在前后端分離項目中使用SpringDoc實現(xiàn)接口文檔自動生成的方法,包括核心依賴、啟動配置、常用注解、生產環(huán)境配置、帶Token權限接口調試等內容,提高了接口文檔的生成效率和維護性,需要的朋友可以參考下

在前后端分離項目中,接口文檔是剛需。
傳統(tǒng)手寫文檔效率低、更新不及時、容易和代碼不一致,溝通成本極高。

SpringBoot 官方早已放棄舊版 SpringFox(Swagger2),轉而推薦更輕量、更強大的 SpringDoc + OpenAPI 3.0。

今天我們來實現(xiàn)接口文檔自動生成、在線調試、權限配置、分組管理、生產環(huán)境關閉

一、為什么選 SpringDoc,而不是 Swagger2?

  1. 支持 OpenAPI 3.0 規(guī)范
    (最新行業(yè)標準)
  2. 兼容 SpringBoot 2.6x / 2.7x / 3.x
    (Swagger不兼容高版本Boot)
  3. 無侵入、零配置,不污染業(yè)務代碼
  4. 性能更好、體積更小
  5. 支持 SpringBoot 官方推薦
  6. UI 更美觀、調試更方便

二、核心依賴

直接在 pom.xml 添加,無需其他依賴

<dependency>
<groupId>org.springdocgroupId>
<artifactId>springdoc-openapi-uiartifactId>
<version>1.7.0version>
<dependency>

SpringBoot 3.x 用這個:

<dependency>
<groupId>org.springdocgroupId>
<artifactId>springdoc-openapi-starter-webmvc-uiartifactId>
<version>2.2.0version>
<dependency>

三、啟動

引入依賴后,什么都不用配!

直接啟動項目,訪問地址:

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

就能看到全自動生成的接口文檔,支持:

  • 自動掃描所有 Controller
  • 自動解析參數、返回值
  • 在線發(fā)送請求調試
  • 自動展示實體類字段

四、相關配置

創(chuàng)建配置類 SpringDocConfig.java,定義文檔標題、描述、版本、作者:

importio.swagger.v3.oas.models.OpenAPI;
importio.swagger.v3.oas.models.info.Contact;
importio.swagger.v3.oas.models.info.Info;
importorg.springframework.context.annotation.Bean;
importorg.springframework.context.annotation.Configuration;
@Configuration
publicclassSpringDocConfig{
@Bean
publicOpenAPIspringShopOpenAPI(){
returnnewOpenAPI()
info(newInfo()
title("SpringBoot 實戰(zhàn)項目 API 文檔")
description("接口文檔自動生成 | 在線調試")
version("v1.0.0")
name("后端開發(fā)")
email("developer@demo.com")
)
);
}
}

五、常用注解

SpringDoc 使用 OpenAPI 3 注解,比 Swagger 更簡潔。

1. 控制層注解

importio.swagger.v3.oas.annotations.Operation;
importio.swagger.v3.oas.annotations.tags.Tag;
@RestController
@RequestMapping("/user")
@Tag(name ="用戶管理模塊", description ="用戶增刪改查接口")
publicclassUserController{
@Operation(summary ="根據ID查詢用戶", description ="傳入用戶ID,返回用戶詳情")
@GetMapping("/{id}")
publicResult<User>getUserById(@PathVariableInteger id){
returnResult.success();
}
}

2. 實體/參數注解

importio.swagger.v3.oas.annotations.media.Schema;
@Data
@Schema(description ="用戶信息實體")
publicclassUser{
@Schema(description ="用戶ID", example ="1001")
privateInteger id;
@Schema(description ="用戶名", example ="zhangsan")
privateString username;
}

3. 隱藏接口

@Operation(hidden =true)
@GetMapping("/test")
publicStringtest(){
return"test";
}

六、application.yml 增強配置

springdoc:
  api-docs:
enabled:true# 是否開啟接口文檔(生產設為false)
path: /v3/api-docs  # 文檔JSON地址
  swagger-ui:
enabled:true# 是否開啟UI頁面
path: /swagger-ui.html  # 訪問路徑
tags-sorter: alpha  # 按字母排序
operations-sorter: alpha  # 接口排序
packages-to-scan: com.demo.controller  # 只掃描Controller包

生產環(huán)境務必關閉文檔

springdoc.api-docs.enabled=false
springdoc.swagger-ui.enabled=false

七、帶 Token 權限的接口調試

如果項目有登錄認證(Token/JWT),配置文檔自動帶請求頭:

@Bean
publicOpenAPIopenAPI(){
returnnewOpenAPI()
.info(newInfo()
title("API文檔")
version("v1.0")
)
// 添加全局Token請求頭
components(newComponents()
addSecuritySchemes("token",
newSecurityScheme()
type(SecurityScheme.Type.APIKEY)
in(SecurityScheme.In.HEADER)
name("token")
)
);
}

頁面上直接輸入 Token,所有接口自動攜帶。

八、接口文檔效果

訪問:http://localhost:8080/swagger-ui.html

你會看到:

  • 模塊分組清晰
  • 接口說明完整
  • 參數自動解析
  • 支持在線調試
  • 返回結構自動展示(Result)

學會 SpringDoc,你再也不用手寫接口文檔,前后端對接效率直接翻倍!

以上就是SpringBoot使用SpringDoc+OpenAPI3.0實現(xiàn)接口文檔自動生成的詳細內容,更多關于SpringBoot接口文檔自動生成的資料請關注腳本之家其它相關文章!

相關文章

最新評論

同江市| 雅安市| 巢湖市| 会理县| 区。| 大同县| 土默特右旗| 永清县| 鸡泽县| 沙湾县| 万荣县| 阿坝| 武城县| 玉溪市| 荆门市| 龙井市| 广丰县| 濮阳市| 苍山县| 桐柏县| 汾阳市| 华亭县| 高安市| 杭州市| 平凉市| 宿松县| 商南县| 临桂县| 郧西县| 卓尼县| 保德县| 留坝县| 天等县| 鹿泉市| 星子县| 阳泉市| 新余市| 巴南区| 金门县| 城口县| 辽阳市|