SpringBoot3 当前最新版knife4j openapi3 集成方案

目录

一、引入依赖

二、配置YML

三、自定义Properties

四、启动项配置Properties

五、配置Config

六、效果展示

七、相关最新的注解


一、引入依赖

XML 复制代码
<dependency>
    <groupId>com.github.xiaoymin</groupId>
    <artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId>
    <version>4.5.0</version>
</dependency>

二、配置YML

XML 复制代码
# springdoc-openapi项目配置
springdoc:
  swagger-ui:
    path: /swagger-ui.html
    tags-sorter: alpha
    operations-sorter: alpha
  api-docs:
    path: /v3/api-docs
  group-configs:
    - group: 'default'
      paths-to-match: '/**'
      packages-to-scan: com.xloda.xxx.controller # controller package
    - group: 'iam-api'
      paths-to-match: '/**'
      packages-to-scan: com.xloda.iam.controller # controller package
  api:
    title: AIM Service API
    version: 1.0.0
    description: API for Identity and Access Management Service
    contact:
      name: Dragon Wu
      email:
      url:
# knife4j的增强配置,不需要增强可以不配
knife4j:
  enable: true
  setting:
    language: zh_cn

生产环境需要配:

XML 复制代码
# 生产环境:关闭Knife4j核心功能
knife4j:
  enable: false
# 生产环境:关闭SpringDoc接口文档生成(双重保障,避免漏关)
springdoc:
  api-docs:
    enabled: false
  swagger-ui:
    enabled: false

三、自定义Properties

java 复制代码
/**
 * @author Dragon Wu
 * @created 2026/2/4 15:05
 * @description OpenAPI的自定义配置属性
 */
package com.xloda.iam.config.properties;

import io.swagger.v3.oas.models.info.Contact;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;

@Data
@ConfigurationProperties(prefix = "springdoc.api")
public class OpenApiProperties {
    private String title = "API title";
    private String description = "API description";
    private String version = "1.0.0";
    private Contact contact = new Contact();
}

四、启动项配置Properties

java 复制代码
@SpringBootApplication
// 显式激活配置属性类,Spring自动将其注册为容器Bean,无需加@Component
@EnableConfigurationProperties(OpenApiProperties.class)
public class IamApplication {
    // ......
}

// 显式激活配置属性类,Spring自动将其注册为容器Bean,无需加@Component

@EnableConfigurationProperties(OpenApiProperties.class)

五、配置Config

java 复制代码
/**
 * @author Dragon Wu
 * @created 2026/02/04 15:37
 * @description Knife4j整合Swagger3 Api接口文档配置类
 */
package com.xloda.iam.config;

import com.xloda.iam.config.properties.OpenApiProperties;
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Info;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class OpenApiConfig {

    private final OpenApiProperties openApiProperties;

    public OpenApiConfig(OpenApiProperties openApiProperties) {
        this.openApiProperties = openApiProperties;
    }

    @Bean
    public OpenAPI customOpenAPI() {
        return new OpenAPI()
                .info(new Info()
                        .title(openApiProperties.getTitle())
                        .description(openApiProperties.getDescription())
                        .version(openApiProperties.getVersion())
                        .contact(openApiProperties.getContact())
                );
    }
}

六、效果展示

这样集成维护起来很方便!

七、相关最新的注解

https://blog.csdn.net/qq_50909707/article/details/157732549

总结到此!

相关推荐
吾诺18 小时前
springboot整合libreoffice(两种方式,使用本地和远程的libreoffice);docker中同时部署应用和libreoffice
spring boot·后端·docker
Gin38718 小时前
SpringBoot实现文件上传和下载
java·spring boot·后端
Z...........18 小时前
Spring日志管理
java·后端·spring
smxgn18 小时前
Springboot 整合 Quartz(定时任务框架)
java·spring boot·后端
Meepo_haha18 小时前
Go基础之环境搭建
开发语言·后端·golang
pupudawang18 小时前
Spring boot启动原理及相关组件
数据库·spring boot·后端
小江的记录本18 小时前
【PageHelper】 【Spring Boot + MyBatis + PageHelper】 完整项目示例+PageHelper核心原理深度解析
java·前端·spring boot·后端·sql·spring·mybatis
weixin_7042660518 小时前
Spring AOP事务控制实战指南
java·后端·spring
1104.北光c°19 小时前
双令牌机制:让认证更安全、体验更流畅
java·开发语言·笔记·后端·安全·token·双令牌
江沉晚呤时19 小时前
RabbitMQ 延迟队列实战指南:C# 版订单超时与定时任务解决方案
开发语言·后端·ruby