У меня есть пользовательский сериализатор, который сериализует LocalDateTime для меня.
public class LocalDateTimeJsonSerializer extends JsonSerializer<LocalDateTime> {
private static final DateTimeFormatter FORMATTER = DateTimeFormatter.ISO_LOCAL_DATE_TIME;
@Override
public void serialize(LocalDateTime date, JsonGenerator generator, SerializerProvider arg2) throws IOException, JsonProcessingException {
final String dateString = date.format(FORMATTER);
generator.writeString(dateString);
}
}
Моя проблема в том, что мой тест не работает, похоже, что мой jsonGenerator все еще будет нулевым после сериализации
@Test
public void serialises_LocalDateTime() throws JsonProcessingException, IOException {
Writer jsonWriter = new StringWriter();
JsonGenerator jsonGenerator = new JsonFactory().createGenerator(jsonWriter);
SerializerProvider serializerProvider = new ObjectMapper().getSerializerProvider();
LocalDateTimeJsonSerializer ldt = new LocalDateTimeJsonSerializer();
ldt.serialize(LocalDateTime.of(2000, Month.JANUARY, 1, 0, 0), jsonGenerator, serializerProvider);
jsonGenerator.flush();
//assertEquals(jsonWriter.toString(), "2000-01-01T00:00:00");
}
.. Любая идея?