1. 前言
在Java开发中有时候某些敏感信息我们需要屏蔽掉,不能被消费这些数据的客户端知道。通常情况下我们会将其设置为null
或者空字符""
,其实还有其它办法,如果你使用了Jackson的话。接下来我将以一个实际场景来告诉你可以怎么做。
2. Jackson如何忽略字段
这里都以JSON序列化为例。假如我们在业务中需要返回用户信息,已有的POJO是这样的:
import lombok.Data;
/**
* @java项目www.fhadmin.org
*/
@Data
public class UserInfo {
/**
* userid
*/
private String userId;
/**
* 用户名
*/
private String username;
/**
* 密钥串
*/
private String secret;
/**
* 地址信息
*/
private String address;
}
业务场景:第三方通过用户的userId
来获取用户的信息,但是密钥串secret
显然不能让第三方知道,通常最容易想到的方法是将secret
字段设置为null
或者""
。如果业务需要批量提供用户信息,即List<UserInfo>
,我们总不能每次都要遍历一遍吧。Spring Boot内置的Jackson可以很方便的帮我们处理这个问题。