Я работаю над нестандартным JSON
десериализатором и имею следующий класс
public class yyyy_MM_dd_DateDeserializer extends StdDeserializer <LocalDate> {
public yyyy_MM_dd_DateDeserializer() {
this(null);
}
public yyyy_MM_dd_DateDeserializer(Class t) {
super(t);
}
@Override
public LocalDate deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException {
String dateString = jsonParser.getText();
LocalDate localDate = null;
try {
localDate = LocalDate.parse(dateString, "yyyy-MM-dd");
} catch (DateTimeParseException ex) {
throw new RuntimeException("Unparsable date: " + dateString);
}
return localDate;
}
}
, а в моем классе запросов
@Valid
@JsonDeserialize(using = LocalDateDeserializer.class)
@JsonSerialize(using = LocalDateSerializer.class)
private LocalDate endDate;
Он работает нормально, но мне интересно, могу ли япередать формат даты динамически.Вместо жесткого кодирования в yyyy_MM_dd_DateDeserializer
.Я хочу передать формат даты из моего класса запросов, чтобы мой десериализатор был более универсальным, и любой желающий мог его использовать, отправив требуемый формат.