这个异常是当项目启动后调用knife4j接口测试页面时出现的。首先给出解决办法,在配置的全局异常类前添加@Hidden即可:
import io.swagger.v3.oas.annotations.Hidden;
@Hidden
@ControllerAdvice
public class GlobalExceptionHandler {}
这个问题是Swagger 的原因,knife4j里面用到了Swagger所以也会有问题。
关于@Hidden标签:
springdoc-openapi
java 库有助于使用 spring boot 项目自动生成 API 文档。 springdoc-openapi
通过在运行时检查应用程序来根据 spring 配置、类结构和各种注释推断 API 语义。
13.40. 如何在文档中隐藏操作或控制器?
您可以在、和方法级别使用
@io.swagger.v3.oas.annotations.Hidden
注释@RestController
@RestControllerAdvice
@Hidden
在从异常处理程序构建通用(错误)响应时,会考虑对异常处理程序方法的注释@ControllerAdvice
。或者使用:
@Operation(hidden = true)