访问swagger接口文档时,浏览器内存拉满无响应,前端直呼蓝瘦香菇

1,070 阅读1分钟

问题描述

swagger文档访问接口时,内存直接拉满,导致浏览器直接卡死 image.png

原因分析

经过后端代码的查看,发现响应示例当中存在循环嵌套的问题

image.png

返回的List< AssignTasksVO >之中,存在DeliveryOrderDetail类,DeliveryOrderDetail类中存在DeliveryOrder类,DeliveryOrder类中存在List< DeliveryOrderDetail >。由此可见,DeliveryOrderDetail类与DeliveryOrder类之间存在嵌套循环的关系,导致swagger文档在解析响应实体的时候,使用多线程循环解析内存拉满,进而导致浏览器卡死。

image.png

image.png

解决方案

在DeliveryOrderDetail类中的DeliveryOrder属性上添加忽略注解,就解决了解析是的循环问题。

@ApiModelProperty(value = "订单主表",hidden = true)

image.png