swagger2栈溢出

org.springframework.context.ApplicationContextException: Failed to start bean 'documentationPluginsBootstrapper'; nested exception is com.google.common.util.concurrent.ExecutionError: java.lang.StackOverflowError

今天遇到了栈溢出,找了找发现是swagger的原因
同时满足以下两个条件会发生栈溢出:
1:参数存在循环嵌套
2:该参数没有加@RequestBody注解
这个找了几个小时才找到原因,全是泪啊…
具体原理还没确认清楚,留待以后补充!
目前猜测是因为swagger解析不同参数使用不同的解析器
如果加了@RequestBody注解,那么使用json解析器解析,这样不用他自己写解析器,别人的也能正确处理循环问题.
如果没有@RequestBody注解,可能采取的直接层层解析的方式,直到栈溢出.

你可能感兴趣的:(java)