Java 忽略组合对象中的重载方法
考虑以下示例:Java 忽略组合对象中的重载方法,java,json,jackson,Java,Json,Jackson,考虑以下示例: @JsonIgnoreProperties(ignoreUnknown = true) class ModelA { private ModelB modelB; } ModelB引入了两种重载方法,如setProperty(String)和setProperty(Object)。这使Jackson的ObjectMapper对“冲突setter定义”的抱怨变得混乱: 我知道,如果我可以使用继承,那么我就可以像中建议的那样使用@JsonIgnore。我也知道一个底线解决方案是
@JsonIgnoreProperties(ignoreUnknown = true)
class ModelA {
private ModelB modelB;
}
ModelB
引入了两种重载方法,如setProperty(String)
和setProperty(Object)
。这使Jackson的ObjectMapper对“冲突setter定义”的抱怨变得混乱:
我知道,如果我可以使用继承,那么我就可以像中建议的那样使用@JsonIgnore
。我也知道一个底线解决方案是开发一个定制的Jackson反序列化程序(尽管在我的例子中非常复杂)。但是,如果我被限制使用合成,我想知道是否有解决方法
Caused by: java.lang.IllegalArgumentException:
Conflicting setter definitions for property "property": ModelB#setProperty(1 params) vs ModelB#setProperty(1 params)