使用knife4j 您所在的位置:网站首页 stackoverflow注册不了 使用knife4j

使用knife4j

2024-07-11 20:09| 来源: 网络整理| 查看: 265

        knife4j是一款不错集swagger2以及openapi3的增强方案,具体可以查看官网:

        本文提及的这个问题在swagger2正常,但是迁移到openapi3上时却出现了stackoverflow异常,部分异常信息如下所示:

Caused by: java.lang.StackOverflowError: null at org.springframework.util.ObjectUtils.nullSafeHashCode(ObjectUtils.java:423) ~[spring-core-5.3.23.jar:5.3.23] at org.springframework.core.ResolvableType.calculateHashCode(ResolvableType.java:938) ~[spring-core-5.3.23.jar:5.3.23] at org.springframework.core.ResolvableType.(ResolvableType.java:148) ~[spring-core-5.3.23.jar:5.3.23] at org.springframework.core.ResolvableType.forType(ResolvableType.java:1436) ~[spring-core-5.3.23.jar:5.3.23] at org.springframework.core.ResolvableType.forType(ResolvableType.java:1405) ~[spring-core-5.3.23.jar:5.3.23] at org.springframework.core.ResolvableType.getGenerics(ResolvableType.java:720) ~[spring-core-5.3.23.jar:5.3.23] at org.springframework.core.ResolvableType.getGenerics(ResolvableType.java:724) ~[spring-core-5.3.23.jar:5.3.23] at org.springframework.core.ResolvableType.hasUnresolvableGenerics(ResolvableType.java:548) ~[spring-core-5.3.23.jar:5.3.23] at org.springdoc.core.ReturnTypeParser.resolveType(ReturnTypeParser.java:87) ~[springdoc-openapi-common-1.6.15.jar:1.6.15] at org.springdoc.core.ReturnTypeParser.resolveType(ReturnTypeParser.java:93) ~[springdoc-openapi-common-1.6.15.jar:1.6.15] at org.springdoc.core.ReturnTypeParser.resolveType(ReturnTypeParser.java:93) ~[springdoc-openapi-common-1.6.15.jar:1.6.1

从上面标红部分可以断定是泛型类的类型确定不了,场景如下所示:

代码语言:javascript复制// 出问题的类 public class SysOrgs { private String name; private List children; } // controller某接口 @GetMapping public List getOrgs(....){ }

问题就出在上面的controller使用了一个没指定泛型类型的SysOrgs基础类,导致openapi3在生成对应接口文档时无法解析的情况而导致了死循环,最终报了stackoverflow异常



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有