【发布时间】:2021-04-19 06:02:22
【问题描述】:
我有以下课程
public class Car {
private String make;
private String model;
private TransmissionType transmissionType; // Manual/Automatic
private Transmission transmission;
}
public class Transmission {
}
public class AutomaticTransmission {
public Technology technology; // DCT/CVT/AMT
}
public class ManualTransmission {
public int numGears;
}
在这个例子中,传递的有效载荷可能是
{
"make": "Toyota",
"model": "Iris",
"transmissionType": "Automatic",
"transmission" {
"technology": "DCT"
}
}
也可以
{
"make": "Merc",
"model": "C",
"transmissionType": "Manual",
"transmission" {
"numGears": 5
}
}
当它作为主体传递给控制器时,它应该能够创建相应的类。我如何做到这一点。
我尝试使用JsonTypeInfo 和JsonSubTypes,如this answer 所示,但我必须在Transmission 类中移动transmissionType,这对我来说不是这样。
【问题讨论】:
-
您可以使用带注释的自定义反序列化器。stackoverflow.com/questions/11747370/…
标签: java spring-boot parsing jackson