【Spring Boot】SpringBoot 2.6.6 集成 SpringDoc 1.6.9 生成swagger接口文档

文章目录


前言


之前常用的SpringFox在2020年停止更新了,新项目集成SpringFox出来一堆问题,所以打算使用更活跃的SpringDoc,这里简单介绍一下我这边SpringBoot2.6.6集成SpringDoc1.6.9的demo。


一、SpringDoc是什么?

官网链接

二、使用步骤

1.引入库

maven为例:

xml 复制代码
<dependency>
    <groupId>org.springdoc</groupId>
    <artifactId>springdoc-openapi-ui</artifactId>
    <version>1.6.9</version>
</dependency>

2.配置类

代码如下(示例):

java 复制代码
package com.yhcookie.demo.config; 

import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Info;
import org.springdoc.core.GroupedOpenApi;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * OpenAPI swagger 配置
 *
 * @author yhcookie
 * @date 2023-08-25
 */
@Configuration
public class OpenApiConfig {

    /**
     * 配置API信息
     * @return
     */
    @Bean
    public OpenAPI demoOpenAPI() {
        return new OpenAPI()
                .info(new Info()
                        .title("YHCookie API")
                        .description("springDoc demo API")
                        .version("v1.0.0")
                        // 若想增加其他API信息项,可参考官网
                );
    }

    /**
     * 配置过滤规则
     * 若不配置该GroupedOpenApi, 默认扫描所有接口并生成文档
     * @return
     */
    @Bean
    public GroupedOpenApi demoGroupedOpenApi() {
        return GroupedOpenApi.builder()
                .group("group1") // 分组名,可建多个不同分组,分别扫描不同位置接口
                .pathsToMatch("/controller1/**")
                // 接口过滤,据此增加接口扫描规则(扫描@Operation注解标注的接口)。想皮一下的话,亦可自定义注解
                .addOpenApiMethodFilter(method -> method.isAnnotationPresent(Operation.class)) 
                .build();
    }
}

3.访问测试

默认路径:
UI界面 http://localhost:9527/swagger-ui/index.html


json界面 http://localhost:9527/v3/api-docs

UI的展示其实就是读取该json展示的


总结

我这边也是刚用不久,使用中有问题可以在这交流一下。

其他配置

xml 复制代码
# 是否启用(默认启用,生产可配置false关闭)
springdoc.swagger-ui.enabled=true
# UI界面
springdoc.swagger-ui.path=/swagger-ui.html

立个Flag

翻译一下官方文档...

相关推荐
whinc4 小时前
Rust技术周刊 2026年第17周
后端·rust
whinc4 小时前
Rust技术周刊 2026年第18周
后端·rust
xqqxqxxq4 小时前
Java AI智能P图工具技术笔记
java·人工智能·笔记
whinc4 小时前
Rust技术周刊 2026年第16周
后端·rust
谷雨不太卷4 小时前
进程的状态码
java·前端·算法
jieyucx4 小时前
Go语言深度解剖:Map扩容机制全解析(增量扩容+等量扩容+渐进式迁移)
开发语言·后端·golang·map·扩容策略
顾温4 小时前
default——C#/C++
java·c++·c#
空中海5 小时前
02 ArkTS 语言与工程规范
java·前端·spring
楚国的小隐士5 小时前
在AI时代,如何从0接手一个项目?
java·ai·大模型·编程·ai编程·自闭症·自闭症谱系障碍·神经多样性
yaki_ya5 小时前
yaki-C语言:从概念基础到内存解析---数组(array)完全指南
java·c语言·算法