Java中部分数据需要给前端返回格式化后的LocalDateTime类型的数据,可能只需要某些实体返回,用全局配置类不方便,修改配置文件也不可取,这是使用自定义序列化json的数据格式,在实体上指定对于的序列化器即可。
1.定义LocalDateSerializer
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
import java.io.IOException;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class LocalDateSerializer extends JsonSerializer<LocalDateTime> {
@Override
public void serialize(LocalDateTime localDateTime, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException {
jsonGenerator.writeString(localDateTime.format(DateTimeFormatter.ofPattern("HH:mm")));
}
}
2.在需要转化的实体上添加注解
@Schema(description = "下班时间")
@ExcelProperty("下班时间")
@JsonSerialize(using = LocalDateSerializer.class)
private LocalDateTime endTime;