Spring Boot 3.x 引入 Springdoc-OpenAPI(内置 Swagger UI、WebMVC-API)

Springdoc-OpenAPI 是一个用于在 Spring Boot 应用程序中自动生成 OpenAPI 文档的库,提供了集成 Swagger UI 的能力,可以帮助开发者快速实现 API 文档的生成和展示。在 Spring Boot 3.x 中,引入 Springdoc-OpenAPI 可以简化 RESTful API 的文档化过程。本文将介绍如何在 Spring Boot 3.x 项目中引入 Springdoc-OpenAPI,并配置 Swagger UI 进行 API 文档的展示。

一、项目准备

1.1 创建 Spring Boot 项目

可以使用 Spring Initializr (https://start.spring.io/)创建一个新的 Spring Boot 项目,选择以下依赖:

  • Spring Web
  • Spring Boot DevTools
  • Lombok(可选,简化 Java 代码)

1.2 添加 Springdoc-OpenAPI 依赖

pom.xml 中添加 Springdoc-OpenAPI 依赖:

<dependency>
    <groupId>org.springdoc</groupId>
    <artifactId>springdoc-openapi-ui</artifactId>
    <version>1.6.14</version> <!-- 请根据最新版本更新 -->
</dependency>

二、创建 RESTful API

2.1 创建 Controller

src/main/java/com/example/demo/controller 目录下创建 HelloController 类,示例代码如下:

package com.example.demo.controller;

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

@RestController
public class HelloController {

    @GetMapping("/hello")
    public String hello() {
        return "Hello, Springdoc OpenAPI!";
    }
}

2.2 配置 API 文档信息

src/main/resources/application.yml 中,添加以下配置来设置 API 文档的基本信息:

springdoc:
  api-docs:
    path: /v3/api-docs
  swagger-ui:
    path: /swagger-ui.html

三、运行项目

3.1 启动 Spring Boot 应用程序

使用 IDE 启动 Spring Boot 应用程序,或者在项目根目录下使用以下命令:

./mvnw spring-boot:run

3.2 访问 Swagger UI

打开浏览器,访问 http://localhost:8080/swagger-ui.html,你将看到自动生成的 API 文档页面,包含 /hello 接口的信息。

四、API 文档展示

在 Swagger UI 页面中,你可以看到如下内容:

  • API 端点:列出了所有可用的 API 端点。
  • 请求方法:支持的请求方法(GET、POST 等)。
  • 请求参数:如果有请求参数,将会列出。
  • 响应信息:API 的响应信息和示例。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

五、自定义 API 文档信息

5.1 使用注解丰富 API 文档

你可以使用 Springdoc 提供的注解来丰富 API 文档信息,如下所示:

import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.responses.ApiResponses;

// ...

@RestController
public class HelloController {

    @Operation(summary = "Hello API", description = "返回一个问候消息")
    @ApiResponses(value = {
        @ApiResponse(responseCode = "200", description = "成功返回问候消息"),
        @ApiResponse(responseCode = "500", description = "内部服务器错误")
    })
    @GetMapping("/hello")
    public String hello() {
        return "Hello, Springdoc OpenAPI!";
    }
}

在以上代码中,我们使用了 @Operation@ApiResponses 注解来描述 API 的功能和响应。

5.2 添加 API 分组

如果你的项目中有多个模块,可以使用 API 分组来组织文档:

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

@Tag(name = "Hello API", description = "与问候相关的 API")
@RestController
public class HelloController {
    // ...
}

六、总结

通过本文的介绍,您已经学会了如何在 Spring Boot 3.x 中引入 Springdoc-OpenAPI,自动生成 API 文档,并使用 Swagger UI 进行展示。Springdoc-OpenAPI 提供了简单易用的 API 文档生成方式,可以有效提高 API 的可读性和维护性。

主要内容总结:

  • 引入依赖:在 Spring Boot 项目中添加 Springdoc-OpenAPI 依赖。
  • 创建 RESTful API:实现简单的 RESTful API 示例。
  • 配置 API 文档:通过 application.yml 配置 Swagger UI 和 API 文档路径。
  • 自定义文档信息:使用注解丰富 API 文档信息。

希望本文能帮助您快速上手 Springdoc-OpenAPI,并在您的 Spring Boot 项目中实现高效的 API 文档生成和管理!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只蜗牛儿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值