前言

  打开knife4j接口文档页面发现接口全部丢失,并且控制台报错,使用的依赖及版本是knife4j-openapi3-jakarta-spring-boot-starter 4.5.0 + springdoc-openapi-starter-webmvc-ui 2.8.9


一、问题如下:

在这里插入图片描述


二、报错如下:

Handler dispatch failed: java.lang.NoSuchMethodError: 'java.util.List org.springdoc.core.properties.SpringDocConfigProperties.getGroupConfigs()'
	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1104)
	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979)
	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014)
	at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903)
	at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564)
	at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885)
	at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
Caused by: java.lang.NoSuchMethodError: 'java.util.List org.springdoc.core.properties.SpringDocConfigProperties.getGroupConfigs()'
	at com.github.xiaoymin.knife4j.spring.extension.Knife4jOpenApiCustomizer.addOrderExtension(Knife4jOpenApiCustomizer.java:75)
	at com.github.xiaoymin.knife4j.spring.extension.Knife4jOpenApiCustomizer.customise(Knife4jOpenApiCustomizer.java:66)
	at org.springdoc.api.AbstractOpenApiResource.lambda$getOpenApi$7(AbstractOpenApiResource.java:404)
	at java.base/java.lang.Iterable.forEach(Iterable.java:75)
	at org.springdoc.api.AbstractOpenApiResource.lambda$getOpenApi$8(AbstractOpenApiResource.java:404)
	at java.base/java.util.Optional.ifPresent(Optional.java:178)
	at org.springdoc.api.AbstractOpenApiResource.getOpenApi(AbstractOpenApiResource.java:404)
	at org.springdoc.webmvc.api.OpenApiResource.openapiJson(OpenApiResource.java:127)

三、解决

  排查之后发现并非是版本不兼容导致的,只要把knife4j的增强设置关掉就行了,如果你尝试后发现还是不行,检查一下你的版本或者依赖是否有冲突

1.当前

knife4j:
  # 是否启用增强设置
  enable: true

2.修改后

knife4j:
  # 是否启用增强设置
  enable: false

3.效果

在这里插入图片描述


总结

  • 本文简单讲述了knife4j接口文档页面发现接口全部丢失并且控制台报错的问题解决方式。
  • 欢迎大家提出建议以及批评,有任何问题可以私信。
Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐