与@ JsonAutoDetect,ObjectMapper()

时间:2018-08-13 08:42:47

标签: spring spring-boot

关于我的previous linked in question,我对@JsonAutoDetect的可用性有些困惑。

我通过向FieldValues类添加@Getter并删除了@JsonAutoDetect来解决了这个问题。

现在让我思考,可以使用@JsonAutoDetect的情况是什么,因为我可以不用获得相同的结果。在具有getter方法的同时进行@JsonAutoDetact注释的目的是什么?我想念什么吗?

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

1 个答案:

答案 0 :(得分:0)

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

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

如果我听错了,@Getter来自lombok,它会自动帮助您生成公共获取方法。