【发布时间】:2021-10-20 21:50:45
【问题描述】:
这是一个示例类:
@JsonTypeInfo(use = Id.NAME, property = "type")
@JsonSubTypes({
@Type(value = Cat.class),
@Type(value = Dog.class)
})
@JsonIgnoreProperties(ignoreUnknown = true)
public abstract class Pet {
/..../
}
我有两个问题:
- 如果我们有一个拼写错误的 JSON 类型 (Dogg),如下所示:{"type": "Dogg" }
我会得到默认的“无法读取 JSON” 异常。
我该如何处理这个自定义的东西,例如:“提供的类型错误。”
- 如果 JSON 中没有提供 type 字段,我会再次遇到 “无法读取 JSON” 异常。 有没有办法标记此字段,例如 @NotEmpty,以便用户获得适当的异常?
【问题讨论】:
标签: java json jackson polymorphism