朋友们,
Jackson 框架提供了基于注解的方法来在序列化过程中发出类型信息。
我不想在我的任何课程中使用@JsonTypeInfo注释。
上述注释是否有任何替代方案。
如果是,请在可能的情况下提供执行相同操作的示例。
覆盖 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);
}
几个选择:
JacksonAnnotationIntrospector
并实现您自己的逻辑,以确定何时以及如何使用等效类型信息。