应用 com.fasterxml.jackson.databind.annotation.JsonSerialize 进行json数据的转化从而达到数据脱敏返回给前端
根本应用
在要操作的字段上增加 @JsonSerialize 注解(如果不返回该字段贼间接应用 @JsonIgnore),@JsonSerialize中有两个主要参数 using 和 nullsUsing
using:数据不为空转换为json的款式
nullsUsing:数据为空转换为json的款式
代码:
1 实体类中
@JsonSerialize(using= DateJsonSerialize.class) //class是你自定义的json转换逻辑类String id
2 json转换逻辑类
//继承JsonSerializerpublic class DateJsonSerialize extends JsonSerializer<数据类型> { //重写serialize办法 @Override public void serialize(原数据类型 原数据入参, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException { //自定义解决形式 ..... jsonGenerator.writeString(操作后的数据); }}
//样例
@JsonSerialize(nullsUsing = DateJsonSerialize.class) //如果工夫字段未填写执行 private Date finishTime;
//继承JsonSerializerpublic class DateJsonSerialize extends JsonSerializer<Date> { //重写serialize办法 @Override public void serialize(Date date, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException { //自定义解决形式 jsonGenerator.writeString("工夫未填写"); }}