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

总结到此!

相关推荐
IT_陈寒7 小时前
Redis内存飙升的锅,原来是我没搞懂这个过期策略
前端·人工智能·后端
铁皮饭盒8 小时前
26年bunjs, elysia+pg一把梭, redis都省了
前端·javascript·后端
葫芦和十三17 小时前
图解 MongoDB 19|Oplog:复制的真正载体,不是文档是操作
后端·mongodb·agent
葫芦和十三17 小时前
图解 MongoDB 20|复制延迟与 catch up:Secondary 为什么跟不上
后端·mongodb·agent
IT_陈寒21 小时前
SpringBoot自动配置的坑,我的API突然就404了
前端·人工智能·后端
ServBay1 天前
为什么说 MCP 是 2026 年开发者必须掌握的黄金协议?
后端·mcp
程序员夏洛1 天前
Spring Boot 多模块项目中 IDEA 提示 Cannot resolve symbol 的一次排查记录
后端
子兮曰1 天前
OpenMontage 深度解剖:你的 AI 编程助手,其实是个视频工作室
前端·后端·ai编程
子兮曰1 天前
前端工具链的「Rust 化」:一场没有赢家的军备竞赛?
前端·后端·rust