如何使用字符串 JsonSubTypes 为多态 Java 对象创建对象
How to create object for Polymorphic Java Object with String JsonSubTypes
此 class 用于从 JSON 输入创建 Java 对象。我想为我的单元测试用例创建一个静态对象。这是我的 class :
@Data
@NoArgsConstructor
@JsonTypeInfo(
use = JsonTypeInfo.Id.NAME,
include = JsonTypeInfo.As.PROPERTY,
property = "type")
@JsonSubTypes({
@JsonSubTypes.Type(value = FullScan.class, name = "FullScan"),
@JsonSubTypes.Type(value = PartitionBased.class, name = "PartitionBased")
})
public class BatchSpec {
@NonNull private String type;
}
我想在我的测试中创建一个对象 class with type="FullScan"
这是我尝试做的事情:
private static final BatchSpec batchSpec = new BatchSpec();
但是它不接受任何参数。
我想要做的是,为下面的 json :
创建一个对象
"batch": {"type": "FullScan"}
试试这个
BatchSpec batchSpec = new BatchSpec();
batchSpec.setType("FullScan");
JobConfig jobConfig = new JobConfig("Something",batchSpec);
此 class 用于从 JSON 输入创建 Java 对象。我想为我的单元测试用例创建一个静态对象。这是我的 class :
@Data
@NoArgsConstructor
@JsonTypeInfo(
use = JsonTypeInfo.Id.NAME,
include = JsonTypeInfo.As.PROPERTY,
property = "type")
@JsonSubTypes({
@JsonSubTypes.Type(value = FullScan.class, name = "FullScan"),
@JsonSubTypes.Type(value = PartitionBased.class, name = "PartitionBased")
})
public class BatchSpec {
@NonNull private String type;
}
我想在我的测试中创建一个对象 class with type="FullScan"
这是我尝试做的事情:
private static final BatchSpec batchSpec = new BatchSpec();
但是它不接受任何参数。
我想要做的是,为下面的 json :
创建一个对象"batch": {"type": "FullScan"}
试试这个
BatchSpec batchSpec = new BatchSpec();
batchSpec.setType("FullScan");
JobConfig jobConfig = new JobConfig("Something",batchSpec);