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