Knife4j文档请求异常问题及解决过程

 更新时间:2026年05月06日 10:00:21   作者:喜七er  
解决再学习黑马苍穹外卖项目Swagger时遇到的Knife4j请求异常问题,通过自检、检查SpringBoot版本兼容性、更改项目SpringBoot版本和启动项目等步骤,最终成功解决并访问到Swagger接口页面

再学习黑马苍穹外卖项目swagger时,按照相同的配置方式,再更改数据库用户名和密码后,启项目时请求swagger生成的接口文档时遇到了Knife4j请求异常的问题,经过数小时努力,现已解决,方法如下,可供参考:

一、根据Knife4j官方异常处理

参考方法自检:

​​​​​​https://doc.xiaomi nfo.com/docs/faq/knife4j-exception​​​​​​

二、检查Spring Boot 版本兼容性

首先,确保您了解您的项目所使用的Spring Boot版本。

以下是一些常见的Spring Boot版本及其对应的Knife4j版本兼容推荐:

Spring Boot版本Knife4j Swagger2规范Knife4j OpenAPI3规范
1.5.x~2.0.0<Knife4j 2.0.0>=Knife4j 4.0.0
2.0~2.2Knife4j 2.0.0 ~ 2.0.6>=Knife4j 4.0.0
2.2.x~2.4.0Knife4j 2.0.6 ~ 2.0.9>=Knife4j 4.0.0
2.4.0~2.7.x>=Knife4j 4.0.0>=Knife4j 4.0.0
>= 3.0>=Knife4j 4.0.0>=Knife4j 4.0.0

Knife4j在之前的版本更新中,逐渐提供了一些服务端适配的增强特性功能。

三、更改项目Spring Boot版本

1.将项目中父模块sky-take-out的pom.xml文件中父依赖Spring Boot 改为2.7.3

    <parent>
        <artifactId>spring-boot-starter-parent</artifactId>
        <groupId>org.springframework.boot</groupId>
        <version>2.7.3</version>
    </parent>

2.将工程中所有knife4j依赖版本号改为3.0.2

            <dependency>
                <groupId>com.github.xiaoymin</groupId>
                <artifactId>knife4j-spring-boot-starter</artifactId>
                <version>3.0.2</version>
            </dependency>

3.更改项目java编译器的版本 使用jdk11即可。操作如下:点击File-->Project Structer

4.同时做如下更改 同样将Spring Boot的编译版本改为11

5.以上更改完成后,还需要做出最后一步,在maven中对父工程install:

四、启动项目

访问http://localhost:8080/doc.html,可以访问如下的swagger接口页面,至此问题就解决了。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Spring Boot静态资源路径的配置与修改详解

    Spring Boot静态资源路径的配置与修改详解

    最近在做SpringBoot项目的时候遇到了“白页”问题,通过查资料对SpringBoot访问静态资源做了总结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-09-09
  • Spring中使用Async进行异步功能开发实战示例(大文件上传为例)

    Spring中使用Async进行异步功能开发实战示例(大文件上传为例)

    本文以大文件上传为例,首先讲解在未进行程序异步化时,程序的运行机制和具体表现,然后讲解如何进行异步化的改造,让程序进行异步执行,通过本文不仅能让你掌握如何进行Event的事件开发,同时还能掌握在Spring中如何进行异步开发,熟悉@Async的具体用法,感兴趣的朋友一起看看吧
    2024-08-08
  • SpringBoot实现根据手机号获取归属地

    SpringBoot实现根据手机号获取归属地

    这篇文章主要为大家详细介绍了SpringBoot如何实现根据手机号获取归属地,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-12-12
  • Java Semaphore信号量使用分析讲解

    Java Semaphore信号量使用分析讲解

    Semaphore实际上是一种共享锁,因为它允许多个线程并发获取共享的资源,在Semaphore对象创建时必须设置可用令牌的初始数量permits,用于控制并发时同时获取资源权限的线程数量,这篇文章主要介绍了Java中的Semaphore如何使用,需要的朋友可以参考下
    2022-12-12
  • Java Deque基本概念和使用方法

    Java Deque基本概念和使用方法

    Deque双端队列是Java Collections Framework的一部分,支持在两端插入和删除操作,它继承自Queue接口,可以作为队列FIFO或栈LIFO使用,本文介绍java Deque基本概念和使用方法,感兴趣的朋友一起看看吧
    2025-03-03
  • Java常见线上故障的排查方案深入剖析

    Java常见线上故障的排查方案深入剖析

    在Java应用的开发和运维过程中,线上问题的出现往往难以避免,这篇文章主要介绍了Java常见线上故障的排查的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-09-09
  • Java的List集合框架之LinkedList详细解析

    Java的List集合框架之LinkedList详细解析

    这篇文章主要介绍了Java的List集合框架之LinkedList详细解析,LinkedList底层是内部Node类的存储,prev、next、item值,同时最外层还有first、last节点,需要的朋友可以参考下
    2023-11-11
  • RestTemplate get请求携带headers自动拼接参数方式

    RestTemplate get请求携带headers自动拼接参数方式

    这篇文章主要介绍了RestTemplate get请求携带headers自动拼接参数方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • MybatisPlus查询条件空字符串和NULL问题背景分析

    MybatisPlus查询条件空字符串和NULL问题背景分析

    文章详细分析了MybatisPlus在处理查询条件时,空字符串和NULL值的问题,MP 3.3.0及以上版本提供了多种解决方法,包括在Bean属性上使用注解、全局配置等,推荐使用全局配置的方式来解决这个问题,以避免在SQL查询中出现不必要的空字符串条件,感兴趣的朋友跟随小编一起看看吧
    2025-03-03
  • Java中高效获取IP地域信息方案全解析

    Java中高效获取IP地域信息方案全解析

    在当今互联网应用中,IP地域信息分析已成为许多业务场景的核心需求,本文将全面解析Java中获取IP地域信息的各种方案,大家可以根据需要进行选择
    2025-08-08

最新评论