У меня есть класс задач со структурой
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "type", defaultImpl = Task.class, visible = true)
@JsonSubTypes({@JsonSubTypes.Type(value = IntegrationTask.class, name = "INTEGRATION"),
@JsonSubTypes.Type(value = Task.class, name = "INNER")})
class Task
{
TaskType type;
}
, когда TaskType является enum:
enum TaskType {INTEGRATION, SHARED}
И у меня есть два потомка этого класса:
class IntegrationTask extends Task {}
class SharedTask extends Task { UUID integrationId }
И это работает, но я должен добавить поведение "... также, если у нас есть'grationId 'в теле запроса, так что это SharedTask".Как я могу это реализовать?
Я хочу иметь что-то вроде отображения между несколькими JsonTypeInfos и JsonSubTypes, но я не вижу никаких решений, кроме написания собственного JsonTypeResolver, но это выглядит слишком по-другому, и я этого не сделалнайти какие-то конкретные примеры.