У меня есть весенний загрузочный пост-контроллер, в котором в качестве параметра указан конкретный формат даты, проблема в том, что, если пользователь отправит форму в другом формате, приложение вылетит, и я не совсем уверен, как мне поступить с этим:(
Контроллер:
@RequestMapping(value = "/findFlights", method = RequestMethod.POST)
public String findFlights(@RequestParam("from") String from, @RequestParam("to") String to,
@RequestParam("departureDate") @DateTimeFormat(pattern = "MM-dd-yyyy") Date departureDate, Model model) {
List<Flight> flights = flightRepository.findFlights(from, to, departureDate);
if(flights.isEmpty()) {
model.addAttribute("msg", "No flights were found!");
}else {
model.addAttribute("flights", flights);
foundFlights = true;
model.addAttribute("foundFlights", foundFlights);
}
return "displayFlights";
}
В основном, если представленная дата будет выглядеть примерно так: 22-22-2018, это даст мне следующее исключение:
Failed to convert value of type 'java.lang.String' to required type 'java.util.Date'; nested exception is org.springframework.core.convert.ConversionFailedException: Failed to convert from type [java.lang.String] to type [@org.springframework.web.bind.annotation.RequestParam @org.springframework.format.annotation.DateTimeFormat java.util.Date] for value '22-22-2018'; nested exception is java.lang.IllegalArgumentException: Parse attempt failed for value [22-22-2018]
Но если, например, дата: 10-15-2018, она сработает ... как лучше всего с этим справиться?