spring boot 3集成swagger

Spring Boot 3 集成 Swagger 的过程与之前版本相比有一些变化,主要是因为 `springfox` 库已经停止更新,并且不再支持新的 Spring Boot 版本。因此,对于 Spring Boot 3 来说,推荐使用 `springdoc-openapi` 作为集成 Swagger 的解决方案,它完全支持 OpenAPI 3 规范并且兼容最新的 Spring Boot 和 Java 版本。

以下是集成步骤的概述:

1. 添加 Maven 依赖

首先,在你的 `pom.xml` 文件中添加 `springdoc-openapi-starter-webmvc-ui` 依赖:

```xml

<dependency>

<groupId>org.springdoc</groupId>

<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>

<version>2.1.0</version> <!-- 请检查最新版本 -->

</dependency>

```

确保你也有 `spring-boot-starter-web` 依赖,因为它是必要的:

```xml

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-web</artifactId>

</dependency>

```

2. 编写配置类(可选)

对于基本的设置,通常不需要额外的配置类。如果你需要自定义一些行为,比如分组、安全配置等,你可以创建一个配置类来定制 `springdoc-openapi` 的行为。

例如,你可以这样配置 API 文档的基本信息:

```java

import org.springdoc.core.models.GroupedOpenApi;

import org.springframework.context.annotation.Bean;

import org.springframework.context.annotation.Configuration;

@Configuration

public class SwaggerConfig {

@Bean

public GroupedOpenApi publicApi() {

return GroupedOpenApi.builder()

.group("springshop-public")

.pathsToMatch("/public/**")

.build();

}

}

```

3. 使用 Swagger 注解

在你的控制器中使用 Swagger 提供的注解来描述 API。例如:

```java

import io.swagger.v3.oas.annotations.Operation;

import io.swagger.v3.oas.annotations.Parameter;

import io.swagger.v3.oas.annotations.tags.Tag;

import org.springframework.web.bind.annotation.GetMapping;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RestController;

@RestController

@RequestMapping("/api")

@Tag(name = "示例 API", description = "示例 API 描述")

public class ExampleController {

@Operation(summary = "获取信息", description = "这是一个获取信息的例子")

@GetMapping("/info")

public String getInfo(@Parameter(description = "用户ID") String userId) {

return "User ID is: " + userId;

}

}

```

4. 访问 Swagger UI

完成上述配置后,启动应用程序并访问 `http://localhost:8080/swagger-ui.html\` 或者 `http://localhost:8080/swagger-ui/index.html\` 即可查看和测试你的 API 文档。

请注意,具体的路径可能会根据 springdoc-openapi 的版本有所不同,如果遇到问题,请查阅官方文档或项目 GitHub 页面上的说明。此外,为了安全考虑,在生产环境中应该关闭 Swagger UI 的访问,可以通过配置文件来实现:

```properties

springdoc.api-docs.enabled=false

springdoc.swagger-ui.enabled=false

```

以上是集成 Swagger 到 Spring Boot 3 的基本步骤。如果有更复杂的需求,如安全性配置、多分组等,可以进一步参考 `springdoc-openapi` 的官方文档进行深入配置。

相关推荐
L***d67021 分钟前
十七:Spring Boot依赖 (2)-- spring-boot-starter-web 依赖详解
前端·spring boot·后端
前端世界28 分钟前
float 还是 double?用储罐体积计算带你看懂 C 语言浮点数的真实世界坑
java·c语言·开发语言
豐儀麟阁贵31 分钟前
8.5在方法中抛出异常
java·开发语言·前端·算法
q***38511 小时前
SpringBoot + vue 管理系统
vue.js·spring boot·后端
Bro_cat1 小时前
Java基础
java·开发语言·面试
一起养小猫1 小时前
《Java数据结构与算法》第三篇(下)队列全解析:从基础概念到高级应用
java·开发语言·数据结构
vx_vxbs661 小时前
【SSM电动车智能充电服务平台】(免费领源码+演示录像)|可做计算机毕设Java、Python、PHP、小程序APP、C#、爬虫大数据、单片机、文案
java·spring boot·mysql·spring cloud·小程序·php·idea
叹隙中驹石中火梦中身1 小时前
解耦神器Event和EventListener
java
踏浪无痕1 小时前
@Transactional的5种失效场景和自检清单
spring boot·后端·spring cloud
Boop_wu2 小时前
[Java EE] 多线程进阶(JUC)(2)
java·jvm·算法