作用
可以将数据库返回的null转换成"",或者-1等等想转换的数据
代码
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
import java.io.IOException;
/**
* 自定义序列化,数据库返回null时返回给页面null,而不是-1
*
* @author HuangJunHao
* @since 2022/9/15
*/
public class NullToNullSerializer extends JsonSerializer<Object> {
@Override
public void serialize(Object o, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException {
if (o == null) {
jsonGenerator.writeNull();
}
}
@Override
public void serialize(Object value, JsonGenerator gen, SerializerProvider serializers)
throws IOException {
if (value == null) {
//将空转换成空字符串
gen.writeString("");
}
}
}
使用方式
@JsonSerialize(nullsUsing = NullToNullSerializer.class, using = ToStringSerializer.class)
@Schema(name = "数据保留时间")
private Integer dayJob;
当dayJob数据库返回的是null,可以转换成其他数据
备注
nullsUsing = NullToNullSerializer.class(注意当此字段不为NULL时不执行此配置)
using = ToStringSerializer.class(注意当此字段为NULL时不执行此配置)