Spring 4 mvc,java 8における日付に対する処理方法
1697 ワード
スプリングmvcでは、日付の問題によく遭遇します.
例えば/api/datetime/dateのような日付フォーマットを送信すると(2015-09-26)、エラーが発生します.
ConversionFailedExceptionの放出
java 8、spring mvc 4で@DateTimeFormatの注釈がサポートされている場合は簡単です
問題を解決する
時間タイプの場合、
または
@RestController
@RequestMapping("/api/datetime/")
final class DateTimeController {
@RequestMapping(value = "date", method = RequestMethod.POST)
public void processDate(@RequestParam("date") LocalDate date) {
}
@RequestMapping(value = "datetime", method = RequestMethod.POST)
public void processDateTime(@RequestParam("datetime") LocalDateTime dateAndTime) {
//Do stuff
}
}
例えば/api/datetime/dateのような日付フォーマットを送信すると(2015-09-26)、エラーが発生します.
ConversionFailedExceptionの放出
java 8、spring mvc 4で@DateTimeFormatの注釈がサポートされている場合は簡単です
問題を解決する
@RequestMapping(value = "date", method = RequestMethod.POST)
public void processDate(@RequestParam("date")
@DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate date) {
}
時間タイプの場合、
@RequestMapping(value = "date", method = RequestMethod.POST)
public void processDate(@RequestParam("date")
@DateTimeFormat(pattern = "dd.MM.yyyy") LocalDate date) {
}
または
@RequestMapping(value = "datetime", method = RequestMethod.POST)
public void processDateTime(@RequestParam("datetime")
@DateTimeFormat(pattern = "dd.MM.yyyy HH:mm:ss.SSSZ") LocalDateTime dateAndTime) {
}