在开发接口的时候,我们通常想要过滤一些字段不返回给前端。
例如前端需要查询一个用户,但是用户User类中通常有密码字段,我们不想返回密码字段给前端,应当怎么办呢?使用Jackson依赖即可完美解决。
不过首先我们需要了解一些基本知识。
1,什么是序列化/反序列化
我们前后端交互的对象都需要使用Serializable接口,表示这个类的实例是可以序列化和反序列化的。
Java的实例一般存在于内存里面,如果想要把这个对象在网络上传输或者是存放到本地,那么必须要使这个对象序列化,也就是说序列化把一个内存中的对象数据转换为了可传输存储的形式,例如字符串等等。
在Spring Boot中,通常前端会以JSON格式把对象传给后端(例如用户登录,前端把用户信息组装为JSON传给后端,后端解析为User对象),后端(Spring Boot)会将这个JSON解析为对象/实例,这就是反序列化的过程。(JSON字符串->Java对象)
以及前端有时需要发送请求向后端查询对象(例如前端查询一个用户列表),这时后端接收了请求就会去数据库查询,查询到的数据组装为Java对象,然后再把这些Java对象转换为JSON字符串形式返回给前端,这就是序列化过程。(Java对象->JSON字符串)
序列化和反序列化不止这些,上面只是简要地说了在Spr