友
Jackson框架提供了基于注释的方法,用于在序列化过程中发出类型信息。
我不想在我的任何课程中使用 @JsonTypeInfo 注释。
上面的注释是否有任何替代方法。
如果是,请提供尽可能做同样的例子。
答案 0 :(得分:1)
其他几种选择:
JacksonAnnotationIntrospector
并实施您自己的逻辑,以确定何时以及如何使用等效类型信息。答案 1 :(得分:1)
重写JacksonAnnotationIntrospector并使用setAnnotationIntrospector在ObjectMapper中使用Introspector。以下是AnnotationIntrospector的代码段:
@Override
public TypeResolverBuilder<?> findTypeResolver(MapperConfig<?> config,
AnnotatedClass ac, JavaType baseType) {
if (Modifier.isAbstract(baseType.getRawClass().getModifiers())){
StdTypeResolverBuilder typeResolverBuilder = new StdTypeResolverBuilder();
typeResolverBuilder.typeProperty("@class");
typeResolverBuilder.inclusion(As.PROPERTY);
typeResolverBuilder.init(Id.CLASS, null);
return typeResolverBuilder;
}
return super.findTypeResolver(config, ac, baseType);
}