【发布时间】:2021-12-20 08:40:01
【问题描述】:
假设我有一些带有@PostMapping 的@RestController,如下所示:
@PostMapping
public SomeResponse create(@RequestBody AbstractRequest request) {
...
}
而这个AbstractRequest 是一个由ConcreteOneRequest 和ConcreteTwoRequest 类扩展的抽象类:
@Value
@SuperBuilder
public ConcreteOneRequest extends AbstractRequest {
String concreteOneUniqueField;
}
@Value
@SuperBuilder
public ConcreteTwoRequest extends AbstractRequest {
String concreteTwoUniqueField;
}
基于上述结构,我如何使用@JsonTypeInfo 和/或@JsonSubTypes 和/或@JsonTypeResolver 反序列化为正确的具体类?
我已阅读 Jackson JavaDocs,但无法理解它们的用法,我还搜索了具体示例,但没有找到符合我要求的示例。
请帮忙,提前谢谢。
【问题讨论】:
标签: java spring jackson polymorphism deserialization