java springboot 正合Knife4j框架

要将 Knife4j(之前称为 SwaggerBootstrapUi)集成到 Spring Boot 项目中。

可以按照以下步骤操作:

1、添加依赖

在 pom.xml 文件中添加 Knife4j 的相关依赖。确保 Spring Boot 版本与 Knife4j 支持的版本相匹配。

这里以 Maven 为例:

XML 复制代码
<dependencies>
    <!-- Springfox Swagger 依赖 -->
    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-boot-starter</artifactId>
        <version>3.0.0</version> <!-- 根据实际需要选择版本 -->
    </dependency>
    
    <!-- Knife4j UI 依赖 -->
    <dependency>
        <groupId>com.github.xiaoymin</groupId>
        <artifactId>knife4j-spring-boot-starter</artifactId>
        <version>3.0.3</version> <!-- 请根据最新版本进行调整 -->
    </dependency>
</dependencies>

2、配置 Swagger 和 Knife4j

在 src\main\resources 目录下创建或修改 application.yml 或 application.properties 文件,配置 Swagger 和 Knife4j。

application.yml 示例配置:

XML 复制代码
springfox:
  documentation:
    swagger-ui:
      enabled: true
    knife4j:
      enable: true # 开启 Knife4j 增强功能

server:
  port: 8080

# 如果使用的是Spring Security,可能需要配置Swagger的访问权限
# security:
#   ignored: /swagger-ui.html**, /webjars/**

3、创建 Swagger 配置类

可选地,可以创建一个 Swagger 配置类来定制 API 文档信息。

以下是一个简单的示例:

java 复制代码
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc;

@Configuration
@EnableSwagger2WebMvc // 使用Swagger2
public class Knife4jConfig {

    @Bean(value = "defaultApi2")
    public Docket defaultApi2() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(new ApiInfoBuilder()
                        .title("应用名称")
                        .description("API 描述")
                        .termsOfServiceUrl("http://yourwebsite.com")
                        .contact("联系人")
                        .version("1.0")
                        .build())
                // 分组名称
                .groupName("默认")
                .select()
                // 这里指定Controller扫描包路径
                .apis(RequestHandlerSelectors.basePackage("包路径"))
                .paths(PathSelectors.any())
                .build();
    }
}

4、访问 Swagger UI

完成上述配置后,启动 Spring Boot 应用,然后访问 http://localhost:8080/项目名/doc.html(或根据你的端口配置调整),能看到 Knife4j 增强版的 Swagger UI 界面。

相关推荐
邪修king1 小时前
Re:Linux 系统篇(三十五):进程间通信Chapter2:从匿名管道到进程池:Linux 进程间通信实战(深度理解「先描述,再组织」)
java·linux·运维
拆房老料1 小时前
【第四部分:Agentic 智能体设计模式】16. 一个 Prompt 搞不定复杂任务?试试 Prompt Chaining
java·前端·人工智能·设计模式·prompt
张张123y2 小时前
后端第十四课:Agent 记忆系统(让 Agent 记住上下文和用户,跨会话不健忘)
java·大数据·人工智能·python·agent·记忆
阿里嘎多学长6 小时前
2026-10-20 GitHub 热点项目精选
开发语言·程序员·github·代码托管
曹牧7 小时前
C#:空合并运算符
java·前端·数据库
布吉岛的石头7 小时前
Java 程序员第 50 阶段2:预训练的目标函数:自回归语言建模本质
java·开发语言·人工智能·深度学习·回归·transformer
golang学习记7 小时前
IDEA 2026年的玩法已经完全不同
java·ide·intellij-idea
小羊没烦恼!7 小时前
铁道部新客票系统设计(二)
开发语言·前端·数据库·python·oracle·c#·php
紧跟先前的步伐8 小时前
Go AI Agent 实战 05|Temperature 与生成参数:让模型输出可控
java·人工智能·golang
金銀銅鐵8 小时前
[Java] 展示添加元素时 ArrayList 的内部变化
java·后端·ai编程