忽略组合对象中的重载方法

时间:2012-06-18 09:46:39

标签: java json jackson

考虑以下示例:

@JsonIgnoreProperties(ignoreUnknown = true)
class ModelA {
  private ModelB modelB;
}

ModelB引入了两个重载的方法,例如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)

我知道如果我可以使用继承,那么我可以像this answer中提议的那样使用@JsonIgnore。我也知道底线解决方案是开发一个定制的杰克逊解串器(虽然在我的情况下非常复杂)。但是,如果我限制使用组合,我想知道是否有解决方法?

0 个答案:

没有答案