デシリアライズするときMyEntity
(これはインターフェースです)、私はどちらかを持っています
次の入力:
{ "id": 123 }
その場合、それをデシリアライズしたいと思います
new MyEntityRef(123)
または、次の入力があります。
{ "id": 123, "message": "Hello world", "otherEntity": { "field": "value", ... } }
その場合、次のようにデシリアライズしたいと思います
new MyEntityImpl(123, "Hello world", otherEntity);
where
otherEntity
は、 のコンテキスト外で見つかった場合と同じ方法で逆シリアル化されますMyEntity
。
を介して独自のカスタム デシリアライザーを登録する方法を見つけましたが、SimpleModule
その方法がわかりません。
- いくつかのフィールド (上記など) の存在に基づいて、カスタム デシリアライザーを選択します
message
。 - 特定のフィールド (上記など) の「デフォルト」シリアライザーにフォールバックします
otherEntity
。