首页 > 解决方案 > 与@JsonAutoDetect, ObjectMapper() 有点混淆

问题描述

参考我之前的链接问题,我对@JsonAutoDetect.

我通过添加@Getter到 FieldValues 类并删除了@JsonAutoDetect.

所以现在它让我思考,可以@JsonAutoDetect使用的场景是什么,因为我可以在没有它的情况下达到相同的结果。@JsonAutoDetact拥有 getter 方法的注释的目的是什么。我是不是错过了什么。

无法为上一个问题写任何评论,因此创建了一个新问题。

标签: springspring-boot

解决方案


这是一篇我认为可以帮助你的文章。网址是 https://www.baeldung.com/jackson-jsonmappingexception

在我看来,如果你使用jackson-databindjar,spring 底层使用ObjectMapper来序列化 JavaBean。如果 javaBean 的字段和 getter 方法都不是公共的,则 spring 无法自动序列化 JavaBean。注释@JsonAutoDetect用于自定义您的 javaBean,通过这种方式您可以将字段限制设置为任何级别(例如受保护的公共私有......以便您可以成功地序列化 javaBean)。

如果我没有理解错,那@Getter就是lombok自动帮助您生成公共 getter 方法。


推荐阅读