我有一个具有结构的任务类
@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 TaskType {INTEGRATION, SHARED}
我有这个班的两个孩子:
class IntegrationTask extends Task {}
class SharedTask extends Task { UUID integrationId }
它可以工作,但是我必须添加行为“ ..如果请求主体中也有'integrationId',那么这就是SharedTask”。我该如何实施?
我想在多个JsonTypeInfos和JsonSubTypes之间进行映射,但是除了编写自定义JsonTypeResolver之外,我没有看到任何解决方案,但是它看起来有很大不同,并且我没有找到任何具体的示例。