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

总结到此!

相关推荐
Cosolar7 小时前
不收费、不加水印、数据归你:我做了个开源的在线简历工具
后端·面试·前端框架
小蒜学长8 小时前
基于Spring Boot+Vue3的在线医疗咨询系统的设计与实现(代码+数据库+LW)
java·spring boot·后端·在线问诊·在线医疗咨询系统
陈随易8 小时前
下载神器!Motrix 停更三年后重写回归
前端·后端·程序员
每天一道题9 小时前
CAP、Raft 与多数派:分布式系统如何达成一致?
分布式·后端·微服务
前端的日常9 小时前
一个人+AI做情侣食谱小程序,0 费用的服务器
前端·后端
IT_陈寒10 小时前
Vue的v-for里用了个临时变量,页面直接挂了
前端·人工智能·后端
ServBay10 小时前
本地模型已经跑起来了,Copilot Fusion 为什么还要联网?
后端·ai编程·github copilot
武子康11 小时前
H3-World 的动作没按时发生,先检查时间线变成了什么
人工智能·后端·agent
苍何11 小时前
腾讯 Buddy One 来了,办公全家桶一键打通WorkBuddy(附教程)
后端
AI开源软件11 小时前
SpringBoot信创项目怎么验收?从数据库迁移到交付证据
postgresql·springboot·达梦·opengauss·信创·企业管理系统