spring - 与@JsonAutoDetect, ObjectMapper() 有点混淆
问题描述
参考我之前的链接问题,我对@JsonAutoDetect
.
我通过添加@Getter
到 FieldValues 类并删除了@JsonAutoDetect
.
所以现在它让我思考,可以@JsonAutoDetect
使用的场景是什么,因为我可以在没有它的情况下达到相同的结果。@JsonAutoDetact
拥有 getter 方法的注释的目的是什么。我是不是错过了什么。
无法为上一个问题写任何评论,因此创建了一个新问题。
解决方案
这是一篇我认为可以帮助你的文章。网址是 https://www.baeldung.com/jackson-jsonmappingexception。
在我看来,如果你使用jackson-databind
jar,spring 底层使用ObjectMapper
来序列化 JavaBean。如果 javaBean 的字段和 getter 方法都不是公共的,则 spring 无法自动序列化 JavaBean。注释@JsonAutoDetect
用于自定义您的 javaBean,通过这种方式您可以将字段限制设置为任何级别(例如受保护的公共私有......以便您可以成功地序列化 javaBean)。
如果我没有理解错,那@Getter
就是lombok
自动帮助您生成公共 getter 方法。
推荐阅读
- java - Java 正则表达式匹配器模式不断返回 false
- javascript - 使用以数组为键的 JavaScript Map,为什么我无法获取存储的值?
- javascript - Javascript 模块导入的神秘错误消息
- git - 创建 Github 存储库并仅通过 git 推送文件
- javascript - 单击时导入 SaSS - 单击时刷新并应用
- python - 当我尝试 pip install openbte 时出现特定错误
- python - 如何使用索引调用其他数据框数据
- angular - http 请求的 Angular 接口:JSON 键并不总是相同
- python - 以一种奇怪的方式拆分 csv
- jquery - 何时在 jQuery 中使用 filter() 与 :?