如何让数据序列化时被忽略而反序列化时不被忽略?

什么是序列化和反序列化
序列化:把一个处于某状态的对象转换成字节序列
反序列化:把字节序列返还成处于某状态的对象

场景需求
我在写一个注册接口的时候,@RequestBody想要传入一个User(JSON)转换为User对象,去直接接收数据,但是我先前为User实体类里面的password属性加上了@JsonIgnore的注解,他让这个属性在序列化和反序列化的过程都会被忽略掉,但是这样我就获取不到传进来的password属性,怎么让password只在序列化的过程被忽略掉,而在反序列化的过程不被忽略呢?

解决办法就是加上@JsonProperty(access = JsonProperty.Access.WRITE_ONLY),让这个属性仅仅拥有写的权力,即在序列化的过程被忽略,在反序列化的过程不被忽略,当然你也可以在对应属性的set()或get()方法上加上@JsonIgnore来做到忽略该属性的序列化或反序列化过程

是的没错,@JsonProperty不是仅有命名的功能哦

思考过程难免会有疏漏,欢迎指正

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容