У меня есть несколько проблем с получением даты от контроллера, потому что я не понимаю, какой формат подходит для него.
Контроллер:
@RequestMapping(value = "/findFlights", method = RequestMethod.POST)
public String findFlights(@RequestParam("from") String from, @RequestParam("to") String to,
@RequestParam("departureDate") @DateTimeFormat(pattern = "YYYY-MM-DD") LocalDate departureDate, Model model) {}
Форма:
<form th:action="@{/findFlights}" method="POST">
From:<input type="text" name="from" required/>
To:<input type="text" name="to" required/>
Departure Date:<input type="date" name="departureDate" required />
<input type="submit" value="Search"/>
</form>
Когда я отправляю форму, она всегда выдает ошибку, независимо от формата даты :( Вот ошибка:
Не удалось преобразовать значение типа 'java.lang.String' в требуемый тип
'Java.time.LocalDate'; вложенное исключение
org.springframework.core.convert.ConversionFailedException: не удалось
преобразовать из типа [java.lang.String] в тип
[@ Org.springframework.web.bind.annotation.RequestParam
@ org.springframework.format.annotation.DateTimeFormat
java.time.LocalDate] для значения '2018-11-05'; вложенное исключение
java.lang.IllegalArgumentException: попытка разбора не удалась для значения
[2018-11-05]
Если я укажу аннотацию @DateTimeFormat
, я подумал, что преобразование будет выполнено автоматически.