次の例を検討してください。
@JsonIgnoreProperties(ignoreUnknown = true)
class ModelA {
private ModelB modelB;
}
ModelB
と などの 2 つのオーバーロードされたメソッドが導入されsetProperty(String)
ていsetProperty(Object)
ます。ObjectMapper
これは、「競合するセッター定義」についてのジャクソンの不平を混乱させます。
Caused by: java.lang.IllegalArgumentException:
Conflicting setter definitions for property "property": ModelB#setProperty(1 params) vs ModelB#setProperty(1 params)
継承を使用できる場合は、この回答@JsonIgnore
で提案されているように使用できることを認識しています。また、最終的な解決策は、カスタム Jackson デシリアライザーを開発することであることも認識しています (ただし、私の場合は非常に複雑です)。しかし、コンポジションの使用が制限されている場合、これに対する回避策があるかどうか知りたいですか?