Как добавить сопоставление в JsonTypeInfo - PullRequest
0 голосов
/ 31 марта 2019

У меня есть класс задач со структурой

@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, но это выглядит слишком по-другому, и я этого не сделалнайти какие-то конкретные примеры.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...