1. ホーム
  2. java

[解決済み] Spring MVC ControllerへのGETリクエストでDateパラメータを受け取るには?

2022-06-19 09:13:31

質問

GETリクエストで、YYYY-MM-DD形式の日付をSpringコントローラに送信しています。 コントローラのコードは以下の通りです。

@RequestMapping(value="/fetch" , method=RequestMethod.GET)
    public @ResponseBody String fetchResult(@RequestParam("from") Date fromDate) {
        //Content goes here
    }

Firebugで確認したところ、リクエストは正しく送信されているようです。 エラーが出ます。

HTTP Status 400: クライアントが送信したリクエストは構文的に正しくありません。

どうすればコントローラがこの形式のDateを受け入れるようになりますか? 助けてください。何が間違っているのでしょうか?

どのように解決するのですか?

OK、私はそれを解決しました。 一日中コーディングしっぱなしで疲れている人のために書いておくと、こんなくだらないことを見逃してしまいます。

@RequestMapping(value="/fetch" , method=RequestMethod.GET)
    public @ResponseBody String fetchResult(@RequestParam("from") @DateTimeFormat(pattern="yyyy-MM-dd") Date fromDate) {
        //Content goes here
    }

はい、簡単です。DateTimeFormatアノテーションを追加するだけです。