朋友们
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);
}
关于json - jackson @JsonTypeInfo注释是否有替代方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12297050/