Anzimo_ 2026-01-19 16:40 采纳率: 100%
浏览 9
已结题

springboot 3 集成 Knife4j 的问题

在springboot 3 集成 Knife4j 的过程中发现的问题
先上错图:此图出现在工程启动后在页面上调用http://localhost:port/doc.html 时出现

img


报错的地方为:

List<ControllerAdviceInfo> controllerAdviceInfosNotInThisBean = controllerAdviceInfos.stream()
                    .filter(controllerAdviceInfo ->
                            new ControllerAdviceBean(controllerAdviceInfo.getControllerAdvice()).isApplicableToBeanType(beanType))
                    .filter(controllerAdviceInfo -> !beanType.equals(controllerAdviceInfo.getControllerAdvice().getClass()))
                    .toList();

其中new ControllerAdviceBean(controllerAdviceInfo.getControllerAdvice())构造方法使用时调用单参构造不存在,原因为Spring Framework从5.X版本升级到6.X版本的过程中,取消到了单参构造方法,导致了4.5.0版本的knife4j调用构造失败,造成了本次问题的出现。
补充描述:
问题出现于添加了全局异常拦截器后,只要使用了@RestControllerAdvice注解就会报错
有没有遇到这个问题的选手,怎么解决的,或者说springboot3 使用的什么版本的接口文档,个人是因为觉得swagger的原生文档太难看也太难用.

  • 写回答

3条回答 默认 最新

  • 编号灬9527 2026-01-19 19:09
    关注

    为啥不去人家的官网看看呢?
    https://doc.xiaominfo.com/docs/quick-start

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 1月20日
  • 已采纳回答 1月20日
  • 修改了问题 1月19日
  • 修改了问题 1月19日
  • 展开全部