型変換
String
ベースのリクエスト入力を表す一部のアノテーション付きコントローラーメソッド引数(@RequestParam
、@RequestHeader
、@PathVariable
、@MatrixVariable
、@CookieValue
など)は、引数が String
以外のものとして宣言されている場合、型変換を必要とする場合があります。
このような場合、構成されたコンバーターに基づいて型変換が自動的に適用されます。デフォルトでは、単純型(int
、long
、Date
など)がサポートされています。WebDataBinder
(DataBinder
を参照)を介して、または Formatters
を FormattingConversionService
に登録することにより、型変換をカスタマイズできます。Spring フィールドのフォーマットを参照してください。
型変換の実際的な課題は、空の文字列ソース値の処理です。このような値は、型変換の結果として null
になった場合、欠落しているものとして扱われます。これは、Long
、UUID
、その他のターゲット型に当てはまります。null
の挿入を許可する場合は、引数のアノテーションで required
フラグを使用するか、引数を @Nullable
として宣言します。
5.3 以降、型変換後も null 以外の引数が適用されます。ハンドラーメソッドが null 値も受け入れる場合は、引数を または、具体的に処理することもできます。必要な |