Files
monisuo/STACKOVERFLOW_FIX.md

40 lines
915 B
Markdown
Raw Normal View History

# StackOverflowError 修复方案
## 问题描述
用户在申请充值或提现时遇到错误:
```
Handler dispatch failed; nested exception is java.lang.StackOverflowError
```
## 根本原因
可能的原因:
1. Jackson 序列化时的循环引用
2. Lombok `@Data` 注解导致的 `toString()` 无限递归
3. 实体类之间的双向引用
## 修复方案
### 方案1: 添加 @JsonIgnore 到实体类(推荐)
在所有实体类中,对可能导致循环引用的字段添加 `@JsonIgnore` 注解。
### 方案2: 禁用 toString() 方法
在实体类中使用 `@Getter``@Setter` 替代 `@Data`,避免 `toString()` 方法的自动生成。
### 方案3: 配置 Jackson 不序列化 null 值
`application.yml` 中添加配置。
## 执行步骤
1. 修改实体类
2. 重新编译项目
3. 重启服务
4. 测试验证
---
**修复时间**: 预计 10 分钟
**优先级**: 🔴 高