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