私はこのような方法で@RestController
を持っている:Spring @RequestParamのJavascriptの日付をLocalDateに変換するには?
2017年12月20日16:
@GetMapping("/getInvoices") public List<InvoiceDto> getInvoices(@RequestParam(name="date") @DateTimeFormat LocalDate date) { // do stuff and return a list of InvoiceDtos }
しかし、JavaScriptクライアントは、次のようなhttp://localhost:8080/getInvoices?date=Thu+Nov+30+2017+00%3A00%3A00+GMT-0600+(Central+Standard+Time)
サーバーのレポートをリクエストを送信するとき:20:03.123 WARN 10324 --- [nio-9003-exec-7] .wsmsDefaultHandlerExceptionResolver:要求のバインドに失敗しました 要素: org.springframework.web.method.annot ation.MethodArgumentTypeMismatchException: '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 値の 'Thu Nov 30 2017 23:20:02 GMT-0600 (中央標準時)'の場合はjava.time.LocalDate ';試みは値 のために失敗した解析[木2017年11月30日午後11時20分02秒GMT-0600(中央標準時)]
どのように私は、この文字列表現に変換することができます:ネストされた例外は java.lang.IllegalArgumentExceptionがあります日付(時間コンポーネントを無視する)をLocalDateに送信しますか?