Knife4j文档请求异常:TypeError: n.forEach is not a function
错误信息
接入了Knife4j之后,直接访问应用的doc.html页面,直接提示报错:Knife4j文档请求异常。F12查看具体的报错信息,发现如下
app.23f8b31d.js:1 TypeError: n.forEach is not a function at Oe.analysisGroupSuccess (app.23f8b31d.js:1:173354) at app.23f8b31d.js:1:171658 at app.23f8b31d.js:1:249418
如果使用网关访问该页面,没有见到报错信息,但是没有接口菜单列表:
解决
出现这种问题,可能有多种原因,这里,根据我的排查,原因可能是因为后端改变了和knife4j相关接口的返回格式,因为我的后端,增加了ResponseBodyAdvice接口,做了一个统一返回格式的封装。所以,这里我尝试只对某些自己开发的接口,做统一返回:
@Slf4j @ConditionalOnWebApplication @RestControllerAdvice(basePackages = { "com.fyk.wq"}, annotations = { RestController.class}) public class RestControllerAdviceConfig implements ResponseBodyAdvice<Object> { ……… }
再次访问页面,问题解决: