我有以下结构:
public class MainDTO {
private AbstractInferDTO;
getter and setter;
}
@JsonInfoType(use=Id.Name, include=As.Property, property="type")
@JsonSubTypes({
Type(value=Infer1DTO.class, name="infer1"),
Type(value=Infer2DTO.class, name="infer2")
})
abstract public class AbstractInferDTO {}
@JsonTypeName("infer1")
public class Infer1DTO extends AbstractInferDTO {
private String infer1Name;
getters and setters
}
@JsonTypeName("infer2")
public class Infer2DTO extends AbstractInferDTO {
private String infer2Name;
getters and setters
}
当我尝试反序列化这个结构时,我有一个严重的问题。我使用 POST 方法,我不确定 Json 注释是否适用于 POST 方法,或者仅适用于 GET。我已将此抽象类更改为普通的公共类,但我仍然有无法识别的字段名称 AbstractInferDTO["infer1Name"] 的错误,而不是市场可忽略的。我使用注释 @JsonIgnoreProperties(ignoreUknown=true) 或其他方式 - objectMapper.configure(DeserializeFeature.FAIL_ON_UKNOWN_PROPERTIES, false),但没有任何效果。请问你能帮帮我吗?我没主意了。