想知道是否有办法可以轻松地处理转换错误。
给定一个返回List [ModelObject]
的查询如果检索到5个DBObject,其中一个在转换为ModelObject时抛出ConversionException,有没有办法返回4个可转换对象并为1转换失败提供挂钩?
答案 0 :(得分:1)
有点晚了,但这个答案可能有助于别人的搜索
我同意在政策基础上这样做会很好 - 目前,如果您收到单个转换错误,则根本没有列表。我认为有些用例是有效的需求。
但是,既然你不能,你需要为你的ModelObject注册一个自定义转换器,它可以宽松地转换......
public class DBObjectToModelObjectConverter implements Converter<DBObject,ModelObject>{
public ModelObject convert(DBObject s) {
... Read from the DBObject into your ModelObject and work around the bad data
}
}
然后将其注册为bean定义中的自定义转换器。类似的东西:
<bean id="lenientModelReadConverter" class="com.my.DBObjectToModelObjectConverter"/>
<mongo:custom-converters>
<mongo:converter ref="lenientModelReadConverter"/>
</mongo:custom-converters>