错误信息
接入了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> {
………
}
再次访问页面,问题解决: