更新时间:2023-01-17 11:25:19
这是我遇到的***的.我想我是在某个地方的 Jackson 用户组论坛上看到的.
This the best I've come across. I think I saw it on the Jackson user group forums somewhere.
本质上,它创建了一个自定义注解内省器,如果它看到它有一个特定的注解(在本例中为 JsonTypeInfo),则返回 null
Essentially it makes a custom annotation introspector, which returns null if it sees that it has a specific annotation (in this case JsonTypeInfo)
JacksonAnnotationIntrospector ignoreJsonTypeInfoIntrospector = new JacksonAnnotationIntrospector() {
@Override
protected TypeResolverBuilder<?> _findTypeResolver(
MapperConfig<?> config, Annotated ann, JavaType baseType) {
if (!ann.hasAnnotation(JsonTypeInfo.class)) {
return super._findTypeResolver(config, ann, baseType);
}
return null;
}
};
mapper.setAnnotationIntrospector(ignoreJsonTypeInfoIntrospector);