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的依赖全部移除

相关推荐
冒泡的肥皂34 分钟前
数据库最近学到的小知识(一
数据库·后端·架构
枫叶落雨2221 小时前
Hutool 的 WordTree(敏感词检测)
java·开发语言
wuxuanok1 小时前
SQL理解——INNER JOIN
数据库·sql
GreatSQL1 小时前
工具分享-通过开源工具 tuning-primer快速巡检MySQL5.7
数据库
天天讯通2 小时前
机器人系统对接线索平台好处
大数据·数据库·人工智能·机器人·语音识别
用户2018792831672 小时前
Java序列化之幽灵船“Serial号”与永生契约
android·java
用户2018792831672 小时前
“对象永生”的奇幻故事
android·java
周某某~2 小时前
Rabbit MQ的消息模式-Java原生代码
java·分布式·rabbitmq
天天摸鱼的java工程师2 小时前
如何实现一个分布式锁?——来自 Java 老兵的实战总结 🚀🔐
java·后端·面试
LZQqqqqo2 小时前
C# XML 文件
xml·java·c#