変換エラーを寛大に処理できる方法があるかどうか疑問に思いました。
List[ModelObject]を返すクエリがあるとします。
5つのDBObjectが取得され、そのうちの1つがModelObjectに変換されたときにConversionExceptionをスローしている場合、4つの変換可能なオブジェクトを返し、1つの変換失敗のフックを提供する方法はありますか?
変換エラーを寛大に処理できる方法があるかどうか疑問に思いました。
List[ModelObject]を返すクエリがあるとします。
5つのDBObjectが取得され、そのうちの1つがModelObjectに変換されたときにConversionExceptionをスローしている場合、4つの変換可能なオブジェクトを返し、1つの変換失敗のフックを提供する方法はありますか?
少し遅れましたが、この回答は他の人の検索に役立つかもしれません
ポリシーに基づいてこれを行うのが良いことに同意します。現時点では、変換エラーが 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>