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