Jackson 1.x から 2.x にアップグレードしようとしています。
私が問題を抱えている領域の 1 つは、次のようなカスタム DeserializerFactory を使用していた場所です。
objectMapper.setDeserializerProvider(objectMapper.getDeserializerProvider()
.withFactory(myFactory));
setDeserializerProvider は現在、Jackson2 ではなくなりました (ただし、setSerializerProvider はまだ存在します)。SimpleModule の使用を検討していましたが、必要なものもありません。
これは2でどのように機能するはずですか?
更新:工場である必要があることを強調する必要があると感じています。デシリアライザーを登録するだけではありません。
カスタム ファクトリは、次のようにデシリアライザーに情報を渡します。
if (CollectionPage.class.equals(type.getRawClass())) {
final JsonDeserializer<Object> contentDeserializer = type.getContentType().getValueHandler();
return new MyCollectionDeserializer(type, contentDeserializer);
}
その値 (contentDeserializer) は、異なる型を含むコレクションの実行時に異なります。