#java #date #jackson
#java #Дата #джексон
Вопрос:
Я должен отформатировать свою дату в какой-то определенный формат в моем запросе rest api. Для этого я использую @JsonFormat как @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "MM/dd/yyyy HH:mm")
. Я столкнулся с такой проблемой, что если я указываю дату как «24.03.2018 10:23», она преобразует ее в «24.01.2019 10:23», то есть добавляет год. Мое требование заключается в том, что он выдает ошибку, которую мы даем более 12 месяцев.
Комментарии:
1. Привет, я хочу,
@JsonFormat
чтобы аннотация была написана не на простой Java. Вы используете Джексона? Если это так, я бы отредактировал ваш вопрос и добавил к нему тег Джексона.
Ответ №1:
Попробуйте использовать его:
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "MM/dd/yyyy HH:mm", lenient = OptBoolean.FALSE)
Я поместил lenient
свойство в false
java-документ об этом свойстве:
Свойство, указывающее, следует ли включать или отключать «мягкую» обработку. Это актуально в основном для десериализации некоторых текстовых типов данных, особенно типов даты / времени.
Обратите внимание, что базовая настройка по умолчанию зависит от типа данных (или, точнее, от десериализатора для него): для большинства типов даты / времени по умолчанию включена снисходительность.
У вас должно быть это свойство со времен Джексона 2.9