SpringDoc集成到Springboot

1.Maven引入jar包

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

2.新建OpenApiConfig文件,代码如下

复制代码
package com.elane.project.ztt.config;

import io.swagger.v3.oas.annotations.enums.SecuritySchemeIn;
import io.swagger.v3.oas.annotations.enums.SecuritySchemeType;
import io.swagger.v3.oas.annotations.security.SecurityScheme;
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Info;
import io.swagger.v3.oas.models.security.SecurityRequirement;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

//swagger显示Authorization
//@SecurityScheme(
//        name = "bearerAuth",  // 安全方案的唯一名称
//        type = SecuritySchemeType.HTTP,
//        scheme = "bearer",
//        bearerFormat = "JWT"  // 可选,表明 Token 格式为 JWT
//)
//将未登录header中的Authorization替换为sid
@SecurityScheme(
        name = "sid",
        type = SecuritySchemeType.APIKEY,
        in = SecuritySchemeIn.HEADER,
        paramName = "sid"
)
@Configuration
public class OpenApiConfig {

    @Bean
    public OpenAPI customOpenAPI() {
        return new OpenAPI()
                .info(new Info()
                        .title("API文档")
                        .version("1.0")
                        .description("API文档描述"))
                .addSecurityItem(new SecurityRequirement().addList("sid"));
    }
}

3.application.yml文件增加如下配置

复制代码
springdoc:
  api-docs:
    path: /v3/api-docs # 更改 API 文档路径
  swagger-ui:
    path: /swagger-ui.html # 更改 Swagger UI 路径
    disable-swagger-default-url: true # 禁用默认 URL 加载
    operations-sort-parameter: alpha # 按字母顺序排序 API

4.注意

如果在项目中使用过SpringFox,需要将SpringFox的依赖全部移除

相关推荐
St_rive12 小时前
Page Object设计模式
java·开发语言·设计模式
风流 少年13 小时前
Spring AI 2.0:SSE
java·人工智能·spring
凤山老林13 小时前
精细化流量治理:Spring Boot 动态特性开关与灰度发布体系
java·spring boot·后端
杨运交13 小时前
[060][调度模块]Redisson vs Redis 原生锁:两种分布式锁实现深度对比
数据库·redis·分布式
FungLeo13 小时前
Node 后端实战 · 列表查询到底怎么写?一个通用 DSL 封装,过滤分页排序一次搞定
数据库·node.js·serverless·dsl 封装·通用列表查询
抓蛙师14 小时前
多租户 tenant_id SQL 注入漏洞分析与应急响应报告
数据库·sql
ACP广源盛1392462567314 小时前
Qwen3.8‑2.4T 开源落地@ACP#国产 MoE 私有化部署下 GSV2221 视频转换芯片机遇分析
大数据·数据库·人工智能
七牛开发者15 小时前
为什么 Go 很适合 AI 辅助开发?
数据库·人工智能·python·elasticsearch·log4j
Aphelios38015 小时前
一次锁内网络IO引发的Tomcat线程池“饿死”事故
java·开发语言·spring boot·elasticsearch·tomcat·网络io阻塞·线程池耗尽
不可求~16 小时前
C++ std::string_view 不是字符串:从悬空引用到安全用法
java·开发语言·c++