java – 如何在使用Jackson将对象序列化为JSON时避免@type中的类名

我正在使用Jackson将POJO序列化为 JSON.但是,我得到的 JSON为:

{
  "@type": "com.company.services.alert.dto.JungleEventDTO",
  "company": "xyz",
  "enabled": true,
  "support": false,
..
}

我不想将我的类名暴露给客户端.

我怎样才能做到这一点 ?

最佳答案 您可以使用@JsonTypeId或@JsonTypeName或@JsonTypeInfo进行类型处理.

参考文献https://github.com/FasterXML/jackson-annotations/wiki/Jackson-Annotations

@JsonTypeId: property annotation used to indicate that the property value should be used as the Type Id for object, instead of using class name or external type name.

另见How can I prevent Jackson from serializing a polymorphic type’s annotation property?

点赞