示例
对象定义:
class A{
private List<Map<String,Object>> list;
}
对象值:
{
"list":[{
"a":"file\1.jpg"
}]
}
问题
此对象在通过MongoTemplate 保存时会抛出java.lang.StackOverflowError异常
原因
该异常由MongoConverter 对象的write方法抛出。
经过排查,发现是data对象的部分属性值中包含"\"导致
解决方法
将属性值中的"\"替换为"/"。
修改后的data为:
{
"list":[{
"a":"file/1.jpg"
}]
}
这样就可以成功保存了