news 2026/6/22 16:01:18

SpringBoot 3.x 整合swagger

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
SpringBoot 3.x 整合swagger

目录

一、简介

二、基本使用

1. 引入依赖

2. 其它相关依赖

2. 编写配置文件

3. 配置Swagger文档基本信息

4.?控制 Swagger 的开启

?编辑?5. 完善Swagger文档

5.1 实体类添加Swagger注解

5.2?控制器注解解析

6. 接口调用

三、使用postman进行接口测试

1. 导入链接

四、代码


一、简介

官网:https://swagger.io/

对于SpringBoot而言,Swagger的作用是通过后端SpringBoot代码快速生成接口文档,方便测试接口以及前端使用。

二、基本使用

由于springfox不适用于SpringBoot3.x,故使用Springdoc进行代替。

1. 引入依赖
<dependency> <groupId>org.springdoc</groupId> <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId> <version>2.6.0</version> </dependency>
2. 其它相关依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- 让响应结果更美观 --> <dependency> <groupId>com.alibaba.cola</groupId> <artifactId>cola-component-dto</artifactId> <version>4.3.2</version> </dependency>
2. 编写配置文件

添加 swagger 的配置文件SwaggerConfig.java

@Configuration public class SwaggerConfig { }

此时Swagger已经简单整合成功,运行SpringBoot服务,浏览器打开网址进行测试

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

我使用的是8081端口,因此我使用下面的链接打开

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

3. 配置Swagger文档基本信息
@Configuration public class SwaggerConfig { /* 配置swagger基本信息 */ @Bean public OpenAPI swaggerOpenApi() { return new OpenAPI() .info(new Info().title("Swagger学习-") .description("Swagger简单入门") .version("v1.0")) .externalDocs(new ExternalDocumentation() .description("我的博客") .url("https://blog.csdn.net/2202_76007821?spm=1000.2115.3001.5343")); } }

此时重新运行服务,打开网址

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

4.控制 Swagger 的开启

在开发或者测试环境下,我们开启 swagger 会方便前端和后端的交互,但是如果在生产环境下也开启 swagger 的话,是会将接口暴露出去的,有极大风险,如何让 swagger 根据不同的环境来决定是否开启?

这里我准备了四个项目的配置文件,devprod两个环境的配置文件仅是端口上的不同

application.yml -------------------------- 全局配置文件
application-dev.yml -------------------- 开发环境配置文件
application-prod.yml -------------------- 生产环境配置文件

application-dev.yml配置

springdoc: api-docs: enabled: true # 开启OpenApi接口 swagger-ui: enabled: true # 开启swagger界面,依赖OpenApi,需要OpenApi同时开启

application-prod.yml配置

springdoc: api-docs: enabled: false # 关闭OpenApi接口 swagger-ui: enabled: false # 关闭swagger界面

application.yml内容如下,用于指定选择的环境:

spring: profiles: active: dev

application.yml全局配置文件中环境指向dev时,是可以打开 swagger 的

如果我将application.yml全局配置文件中环境指向prod时,就不能打开 swagger 了

5. 完善Swagger文档
5.1 实体类添加Swagger注解
@Component @Schema(title = "水果类") public class Fruit { @Schema(title = "水果名称",example = "塔菲新式番茄",minLength = 1,maxLength = 100) private String name; @Schema(title = "水果数量",example = "520") private Integer num ; public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getNum() { return num; } public void setNum(Integer num) { this.num = num; } }

@Schema: Swagger文档的注解,用于说明类/字段

  • title: 类/字段说明
  • example: 示例,Swagger中会将这个字段作为示例
  • minLength/maxLength: 最小/最大长度,字段为String类型时生效(仅用于文档说明,不会抛出异常)
5.2控制器注解解析
@RestController @RequestMapping("/fruit") @Tag(name = "水果控制器",description = "这是水果测试接口") public class FruitController { @PostMapping("/add") @Operation(summary = "新增水果",description = "这是新增水果的方法") public String add(Fruit fruit) { return "新增成功"; } }
  • @Tag: 控制器说明

    • name: 名称
    • description: 描述说明
  • @Operation: 请求说明

    • summary: 说明,Swagger页面在方法后面,不会被折叠
    • descirption: 描述,会被折叠到方法说明中

配置之后,让我们打开网址查看一下

6. 接口调用

点击进行测试

测试成功

三、使用postman进行接口测试

1. 导入链接

回到文档头部,点击api-docs

复制链接

打开postman,点击import

选择第二个进行导入

baseurl问题使用环境进行统一修改即可,点击创建新环境

手动修改参数

点击进行测试

四、代码

代码已经上传到gitee,打开网址,点击下载zip即可

https://gitee.com/guirongyuan/swagger-leaning

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/14 9:38:07

腾讯开源翻译模型应用:游戏多语言本地化方案

腾讯开源翻译模型应用&#xff1a;游戏多语言本地化方案 随着全球化进程的加速&#xff0c;游戏出海已成为国内厂商的重要战略方向。然而&#xff0c;语言障碍始终是本地化过程中的核心挑战——既要保证翻译准确&#xff0c;又要兼顾文化适配、术语统一和实时响应。传统商业翻…

作者头像 李华
网站建设 2026/6/15 19:38:22

RS485半双工通信时序优化在STM32中的实践

RS485半双工通信时序优化在STM32中的实战精要工业现场&#xff0c;一条屏蔽双绞线横穿数十米&#xff0c;连接着PLC、变频器和温控仪表。上位机轮询指令刚发出&#xff0c;响应却迟迟不回——是线路干扰&#xff1f;还是协议解析出错&#xff1f;经验丰富的工程师知道&#xff…

作者头像 李华
网站建设 2026/6/14 18:56:08

PDF-Extract-Kit常见误区:新手容易犯的错误

PDF-Extract-Kit常见误区&#xff1a;新手容易犯的错误 1. 引言 1.1 工具背景与使用现状 PDF-Extract-Kit 是由开发者“科哥”基于开源生态二次开发构建的一款PDF智能提取工具箱&#xff0c;集成了布局检测、公式识别、OCR文字提取、表格解析等核心功能。其WebUI界面简洁直观…

作者头像 李华
网站建设 2026/6/21 0:59:51

PDF-Extract-Kit案例库:成功应用场景集合

PDF-Extract-Kit案例库&#xff1a;成功应用场景集合 1. 引言 在数字化转型加速的今天&#xff0c;PDF文档作为信息传递的重要载体&#xff0c;广泛应用于科研、教育、金融、法律等多个领域。然而&#xff0c;传统PDF阅读器仅支持查看和简单标注&#xff0c;难以满足对文档内…

作者头像 李华
网站建设 2026/6/16 18:06:47

PDF-Extract-Kit技术详解:文档布局检测算法原理

PDF-Extract-Kit技术详解&#xff1a;文档布局检测算法原理 1. 引言&#xff1a;智能文档解析的技术挑战 在数字化转型的浪潮中&#xff0c;PDF文档作为学术论文、技术报告和商业文件的主要载体&#xff0c;其结构化信息提取需求日益增长。传统基于规则的PDF解析工具&#xf…

作者头像 李华
网站建设 2026/6/13 18:30:06

科哥PDF-Extract-Kit教程:API接口开发与调用指南

科哥PDF-Extract-Kit教程&#xff1a;API接口开发与调用指南 1. 引言 1.1 背景与目标 在数字化文档处理日益普及的今天&#xff0c;PDF作为最广泛使用的格式之一&#xff0c;承载了大量结构化与非结构化信息。然而&#xff0c;传统PDF解析工具往往难以应对复杂版面、数学公式…

作者头像 李华