У меня есть следующий класс:
@JsonTypeInfo(
use = JsonTypeInfo.Id.NAME,
include = JsonTypeInfo.As.PROPERTY,
property = "type"
)
@JsonSubTypes({
@JsonSubTypes.Type(value = CardOne.class, name = "CARD_ONE")
})
public abstract class Card {
String type;
// Getters & Setters
}
public class CardOne extends Card {
String foo;
// Getters & Setters
}
И следующая строка JSON не будет сериализовать в него никаких проблем.
{
"type": "CARD_ONE",
"foo": "bar"
}
Как мне сделать эту работу, если я вместо этого хочуиспользовать композицию с универсальным типом? Я хочу что-то вроде этого:
public class Card<T> {
String type;
T cardProperties();
// Getters & Setters
}
public class CardOneProperties {
String foo;
// Getters & Setters
}