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接口页面,至此问题就解决了。

总结

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

相关文章

  • Springboot自定义全局异常问题

    Springboot自定义全局异常问题

    这篇文章主要介绍了Springboot自定义全局异常问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • 深入学习Java中的SPI机制

    深入学习Java中的SPI机制

    这篇文章主要介绍了深入学习Java中的SPI机制,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • 关于SpringMVC在Controller层方法的参数解析详解

    关于SpringMVC在Controller层方法的参数解析详解

    在SpringMVC中,控制器Controller负责处理由DispatcherServlet分发的请求,下面这篇文章主要给大家介绍了关于SpringMVC在Controller层方法的参数解析的相关资料,需要的朋友可以参考下
    2021-12-12
  • Java基础之类型封装器示例

    Java基础之类型封装器示例

    这篇文章主要介绍了Java基础之类型封装器,结合实例形式分析了java类型封装相关原理与操作技巧,需要的朋友可以参考下
    2019-08-08
  • SpringBoot基于JAXB实现天地图路径规划结果XML转JSON

    SpringBoot基于JAXB实现天地图路径规划结果XML转JSON

    这篇文章主要为大家详细介绍了SpringBoot如何基于JAXB实现将天地图路径规划结果XML转JSON功能,文中的示例代码讲解详细,需要的可以了解下
    2025-02-02
  • Java中long类型与Long类型的区别和大小比较详解

    Java中long类型与Long类型的区别和大小比较详解

    这篇文章主要给大家介绍了Java中long类型与Long类型区别和大小比较的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-11-11
  • MyBatis实现插入大量数据方法详解

    MyBatis实现插入大量数据方法详解

    最近在公司项目开发中遇到批量数据插入或者更新,下面这篇文章主要给大家介绍了关于MyBatis实现批量插入的相关资料,需要的朋友可以参考下
    2022-11-11
  • Spring Cloud Stream分区分组原理图解

    Spring Cloud Stream分区分组原理图解

    这篇文章主要介绍了Spring Cloud Stream的分区和分组,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • Java实现跨服务器上传文件功能

    Java实现跨服务器上传文件功能

    这篇文章主要为大家详细介绍了Java实现跨服务器上传文件功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • java.util.Date和java.time.LocalDate对比及分析

    java.util.Date和java.time.LocalDate对比及分析

    本文介绍了java.util.Date和java.time下的日期两种日期类型的区别和使用场景,前者表示一个瞬时时间点,包含日期+时间,后者仅表示纯日期,后者时区无关联,而前者依赖操作系统时区显示,两者之间可以相互转换,并且可以格式化输出
    2026-05-05

最新评论