@P_Alexander
First head

При отправке запроса ПОСТ получаю Bad request. Проблема с конвертированием даты в строку. Как решить?

Есть в форме такие поля
<div class="form-group">
                            <label class="labelForm" for="formBirthDay">Birth day</label>
                            <input type="date" class="form-control" th:field="*{birthDate}" id="formBirthDay" placeholder="Birth day">
                        </div>

Если отправлять форму без даты, то все норм, но если указать дату, получаю Bad request, ошибки в консоль не падают.
Вычитал что это пролема с конвертированием даты в строку. Тип даты в бине LocalDate.
Что я сделал:
Контроллер:
@RequestMapping(value = "/signUp", method = RequestMethod.POST)
    public void regCustomer(@ModelAttribute Customer customer) {
        logger.debug("customer " +  customer.toString);
    }

Добавил класс
@Configuration
public class DateTimeConfig {
    @Bean
    public FormattingConversionService  formattingConversionService() {
        DefaultFormattingConversionService conversionService = new DefaultFormattingConversionService(false);

        DateTimeFormatterRegistrar dateTimeFormatterRegistrar = new DateTimeFormatterRegistrar();
        dateTimeFormatterRegistrar.setDateFormatter(DateTimeFormatter.ofPattern("dd.MM.yyyy"));
        dateTimeFormatterRegistrar.setDateTimeFormatter(DateTimeFormatter.ofPattern("dd.MM.yyyy HH:mm:ss"));
        dateTimeFormatterRegistrar.registerFormatters(conversionService);

        return conversionService;
    }
}

Но из за неполного понимания это мой вопрос не решило.
Что мне нужно сделать для того что бы решить этот вопрос!?
  • Вопрос задан
  • 94 просмотра
Решения вопроса 1
@P_Alexander Автор вопроса
First head
Вопрос решил с помощью добавления аннотоции в бин-класс @DateTimeFormat(pattern = "yyyy-MM-dd")
Другое решение пока не нашел...(
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы