Я использую Spring Roo поверх MySQL.Я извлекаю даты с помощью сгенерированных Roo методов JSON, вносю изменения в эти данные в форме браузера и сохраняю их обратно с помощью сгенерированных Roo методов JSON.
Формат даты, которую я получаю, yyyy-MM-dd
, стандартный формат даты MySQL.Я использую виджет календаря в браузере, чтобы убедиться, что дата, которую я отправляю, имеет тот же формат.
К сожалению, мои данные неправильно обрабатываются методом ...FromJson()
, что приводит к ошибке:
Parsing date 2007-12-12 was not recognized as a date format
Я предполагаю, что проблема в том, что он выходит в виде строки, но JPA чувствует, что ему нужно сгенерировать Date
объект для обновления.
Я с удовольствием покажу свойКод об этом, но это ничего, что Ру не сделал для меня.
Мне приходит в голову, что есть кое-что, на что он ссылается, когда говорит «распознается как формат даты».Есть ли где-нибудь, где я могу изменить какие форматы дат он знает?
РЕДАКТИРОВАТЬ: С помощью @ nowaq, вот окончательный ответ:
public static Lease fromJsonToLease(String json) {
return new JSONDeserializer<Lease>()
.use(null, Lease.class)
.use(Date.class, new DateFormatter("yyyy-MM-dd"))
.deserialize(json);
}
Таким образом, JSONDeserializer знает, с каким классом он имеет дело и строитсредство форматирования для всех дат в этом классе.Злая!