Как вывести / сериализовать правильное значение YearMonth для отображения в форме с помощью аннотации Spring?
У меня есть следующая переменная в моем классе POJO, которая используется для загрузки правильных сохраненных данных в форму:
@JsonDeserialize(using=YearMonthDeserializer.class)
@JsonSerialize(using=YearMonthDeserializer.class)
private YearMonth date;
Правильное сохраненное значение, которое следует загрузить в форму, - "12/2010". Однако он отображается как "02/0101". Я считаю, что это потому, что формат YearMonth по умолчанию - "2010-12", и он не распознает, как выводить его в поле формы с заданной маской ввода. Я попытался добавить аннотацию @JsonFormat(pattern="MM/yyyy"), а также @DateTimeFormat(pattern="MM/yyyy"), но, похоже, это не решило проблему. Любая помощь приветствуется!
1 ответ
Вы можете попробовать это
@JsonSerialize(using = YearMonthSerializer.class)
@JsonDeserialize(using = YearMonthDeserializer.class)
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "MM/yyyy")
YearMonth date;
вывод {"дата":"04/2022"}