以下结果导致MappingException。我需要更改设计吗?
public class Foo extends Bar {
// if class == Foo do not send this over the wire
@JsonProperty(access = Access.WRITE_ONLY)
public List<X> myList;
}
public class Bar {
// if class == Bar send this over the wire
public List<X> myList;
public void methodsThatAccessMyList() {
// multiple methods exists in here accessing myList
// also, other classes exist extending bar,
//so moving these to the children will result in duplicate code
}
}
但是,我需要子类上的json属性,以防止子类通过电线传输该字段。
为了防止模棱两可的映射,我需要更改什么?
org.springframework.data.mapping.MappingException:含糊字段 检测到映射!受保护的java.util.List ...和 @ com.fasterxml.jackson.annotation.JsonProperty(index = -1, 访问= WRITE_ONLY,值=“”,默认值=“”,必填= false)受保护 java.util.List ...映射到相同的字段名称...!消除歧义 @Field批注!
答案 0 :(得分:0)
事实证明,您可以将JsonProperty放在字段的getter上,它将按预期工作。 这样,您无需在扩展类中覆盖字段本身。