28 lines
928 B
Java
28 lines
928 B
Java
package com.guo.learningprogresstracker.config.serializer;
|
|
|
|
import com.fasterxml.jackson.core.JsonGenerator;
|
|
import com.fasterxml.jackson.databind.SerializerProvider;
|
|
import com.fasterxml.jackson.databind.ser.std.StdSerializer;
|
|
|
|
import java.io.IOException;
|
|
import java.time.LocalDateTime;
|
|
import java.time.format.DateTimeFormatter;
|
|
|
|
public class LocalDateTimeSerializer extends StdSerializer<LocalDateTime> {
|
|
private static final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss");
|
|
|
|
public LocalDateTimeSerializer() {
|
|
super(LocalDateTime.class);
|
|
}
|
|
|
|
@Override
|
|
public void serialize(LocalDateTime value, JsonGenerator gen, SerializerProvider provider) throws IOException {
|
|
if (value == null) {
|
|
gen.writeNull();
|
|
} else {
|
|
String formattedDate = value.format(formatter);
|
|
gen.writeString(formattedDate);
|
|
}
|
|
}
|
|
}
|