
什么是序列化和反序列化
序列化:把一个处于某状态的对象转换成字节序列
反序列化:把字节序列返还成处于某状态的对象
场景需求
我在写一个注册接口的时候,@RequestBody想要传入一个User(JSON)转换为User对象,去直接接收数据,但是我先前为User实体类里面的password属性加上了@JsonIgnore的注解,他让这个属性在序列化和反序列化的过程都会被忽略掉,但是这样我就获取不到传进来的password属性,怎么让password只在序列化的过程被忽略掉,而在反序列化的过程不被忽略呢?
解决办法就是加上@JsonProperty(access = JsonProperty.Access.WRITE_ONLY),让这个属性仅仅拥有写的权力,即在序列化的过程被忽略,在反序列化的过程不被忽略,当然你也可以在对应属性的set()或get()方法上加上@JsonIgnore来做到忽略该属性的序列化或反序列化过程
是的没错,@JsonProperty不是仅有命名的功能哦
思考过程难免会有疏漏,欢迎指正