SpringBoot3集成swagger文档的使用方法

2025-01-07 15:50

本文主要是介绍SpringBoot3集成swagger文档的使用方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

《SpringBoot3集成swagger文档的使用方法》本文介绍了Swagger的诞生背景、主要功能以及如何在SpringBoot3中集成Swagger文档,Swagger可以帮助自动生成API文档...

一、前言

为了方便后端人员进行进行接口测试,swagger就此诞生

1. API 文档自动生成

  • 减少文档编写工作:通过在代码中使用注解,Swagger 可以自动生成详细的 API 文档,减少了手动编写文档的工作量。
  • 保持文档与代码同步:由于文档是直接从代码生成的,因此可以确保文档总是与实际的 API 实现保持一致。

2. 交互式 API 测试

实时测试 API:Swagger UI 提供了一个基于浏览器的界面,允许开发者直接从浏览器调用 API 并查看响应结果,这有助于快速测试 API 功能。

参数输入与验证:用户可以直接在界面上输入参数并发送请求,Swagger 会自动处理参数格式和验证。

3. API 设计和开发协作

  • 统一的 API 规范:Swagger 使用 OpenAPI 规范(以前称为 Swagger 规范),这是一种标准的 API 描述格式,使得团队成员可以更容易理解和遵循 API 设计。
  • 前后端分离开发:前端和后端开发者可以通过 Swagger 文档进行沟通,即使在后端 API 还未完成时,前端也可以开始基于文档进行开发。

二、使用方法

1.导入依赖

        <dependency>
            <groupId>com.github.xiaoymin</groupId>
            <artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId>
            <version>4.3.0</version>
        </dependency>编程;
        <dependency>
            <groupId>com.fasterXML.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
            <version>2.15.2</version> 
        </dependency>

2.文档配置

import io.swagger.v3.oas.models.ExternalDocumentation;
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Contact;
import io.swagger.v3.oas.models.info.Info;
import org.springdoc.core.models.GroupedOpenApi;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class OpenApiConfig {
    @Bean
    public OpenAPI springShopOpenAPI() {
        return new OpenAPI()
                // 接口文档标题
                .info(new Info().title("在线考试系统API接口文档")
                        // 接口文档简介
                        .description("这是基于Knife4j OpenApi3的在线考试系统接口文档")
                        // 接口文档版本
                        .version("v1.0")
                        // 开发者联系方式
                        .contact(new Contact().name("黄宏保").email("3111871135@qq.com")))
                .externalDocs(new ExternalDocumentation()
                        .description("在线考试系统接口文档")//swagger-ui文档地址
                        .url("http://127.0.0.1:8088"));
    }
    @Bean
    public GroupedOpenApi adminApi() {
        return GroupedOpenApi.builder().group("管理员管理模块")
                .pathphpsToMatch("/user/**","/admin/**")
                .build();
    }
    @Bean
    public GroupedOpenApi teacherApi() {
        return GroupedOpenApi.builder().groupChina编程("教师管理模块")
                .pathsToMatch("/user/**", "/teacher/**")
                .build();
    }
    @Bean
    public GroupedOpenApi studentApi() {
        return GroupedOpenApi.builder().group("学生管理模块")
                .pathsToMatch("/user/**", "/student/**")
                .build();
    }
}

 application.yaml配置

springdoc:
  swagger-ui:
    path: /swagger-ui.html # 自定义Swagger前端请求路径
    tags-sorter: alpha
    operations-sorter: alpha
  api-docs:
    path: /v3/api-docs # Swagger后端请求地址
    enabled: true # 是否开启文档功能
# knife4j相关配置
knife4j:
  enable: true # 开启knife4j,无需添加@EnableKnife4j注解
  setting:
    language: zh_cn # 中文

3.常见注解

@Tag(nampythone = "用户管理")//用于在控制器类上标注,指示该控制器的相关信息
@Operation(summary = "登录")//用于在控制器方法上标注,指示该方法的作用、描述等
@Schema(description = "用户信息")//在DTO类上标注,用于描述一个实体类
@Schema(description = "用户信息")//用于描述实体类的属性(自己定义的接收变量),即类的字段
@Parameter(description = "邮箱") //定义在控制层方法的参数上

4.效果展示

SpringBoot3集成swagger文档的使用方法

SpringBoot3集成swagger文档的使用方法

5.访问路径

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

swagger文档路径:http://127.0.0.1:8080/doc.html#/home

到此这篇关于SpringBoot3集成swagger文档的文章就介绍到这了,更多相关SpringBoot3集成swagger文档内容请搜索China编程(www.chinasem.cn)以前的文章或继续浏览下面的相关文编程China编程章希望大家以后多多支持China编程(www.chinasem.cn)!

这篇关于SpringBoot3集成swagger文档的使用方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1152961

相关文章

一文详解Git中分支本地和远程删除的方法

《一文详解Git中分支本地和远程删除的方法》在使用Git进行版本控制的过程中,我们会创建多个分支来进行不同功能的开发,这就容易涉及到如何正确地删除本地分支和远程分支,下面我们就来看看相关的实现方法吧... 目录技术背景实现步骤删除本地分支删除远程www.chinasem.cn分支同步删除信息到其他机器示例步骤

Go语言数据库编程GORM 的基本使用详解

《Go语言数据库编程GORM的基本使用详解》GORM是Go语言流行的ORM框架,封装database/sql,支持自动迁移、关联、事务等,提供CRUD、条件查询、钩子函数、日志等功能,简化数据库操作... 目录一、安装与初始化1. 安装 GORM 及数据库驱动2. 建立数据库连接二、定义模型结构体三、自动迁

ModelMapper基本使用和常见场景示例详解

《ModelMapper基本使用和常见场景示例详解》ModelMapper是Java对象映射库,支持自动映射、自定义规则、集合转换及高级配置(如匹配策略、转换器),可集成SpringBoot,减少样板... 目录1. 添加依赖2. 基本用法示例:简单对象映射3. 自定义映射规则4. 集合映射5. 高级配置匹

Spring 框架之Springfox使用详解

《Spring框架之Springfox使用详解》Springfox是Spring框架的API文档工具,集成Swagger规范,自动生成文档并支持多语言/版本,模块化设计便于扩展,但存在版本兼容性、性... 目录核心功能工作原理模块化设计使用示例注意事项优缺点优点缺点总结适用场景建议总结Springfox 是

在Spring Boot中集成RabbitMQ的实战记录

《在SpringBoot中集成RabbitMQ的实战记录》本文介绍SpringBoot集成RabbitMQ的步骤,涵盖配置连接、消息发送与接收,并对比两种定义Exchange与队列的方式:手动声明(... 目录前言准备工作1. 安装 RabbitMQ2. 消息发送者(Producer)配置1. 创建 Spr

嵌入式数据库SQLite 3配置使用讲解

《嵌入式数据库SQLite3配置使用讲解》本文强调嵌入式项目中SQLite3数据库的重要性,因其零配置、轻量级、跨平台及事务处理特性,可保障数据溯源与责任明确,详细讲解安装配置、基础语法及SQLit... 目录0、惨痛教训1、SQLite3环境配置(1)、下载安装SQLite库(2)、解压下载的文件(3)、

使用Python绘制3D堆叠条形图全解析

《使用Python绘制3D堆叠条形图全解析》在数据可视化的工具箱里,3D图表总能带来眼前一亮的效果,本文就来和大家聊聊如何使用Python实现绘制3D堆叠条形图,感兴趣的小伙伴可以了解下... 目录为什么选择 3D 堆叠条形图代码实现:从数据到 3D 世界的搭建核心代码逐行解析细节优化应用场景:3D 堆叠图

Springboot如何正确使用AOP问题

《Springboot如何正确使用AOP问题》:本文主要介绍Springboot如何正确使用AOP问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录​一、AOP概念二、切点表达式​execution表达式案例三、AOP通知四、springboot中使用AOP导出

如何在Spring Boot项目中集成MQTT协议

《如何在SpringBoot项目中集成MQTT协议》本文介绍在SpringBoot中集成MQTT的步骤,包括安装Broker、添加EclipsePaho依赖、配置连接参数、实现消息发布订阅、测试接口... 目录1. 准备工作2. 引入依赖3. 配置MQTT连接4. 创建MQTT配置类5. 实现消息发布与订阅

在Golang中实现定时任务的几种高效方法

《在Golang中实现定时任务的几种高效方法》本文将详细介绍在Golang中实现定时任务的几种高效方法,包括time包中的Ticker和Timer、第三方库cron的使用,以及基于channel和go... 目录背景介绍目的和范围预期读者文档结构概述术语表核心概念与联系故事引入核心概念解释核心概念之间的关系