1

我有以下结构:

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),但没有任何效果。请问你能帮帮我吗?我没主意了。

4

0 回答 0