型別轉換

一些表示基於 String 的請求輸入的註解控制器方法引數(例如,@RequestParam@RequestHeader@PathVariable@MatrixVariable@CookieValue)如果引數被宣告為非 String 型別,則可能需要型別轉換。

對於這種情況,型別轉換會根據配置的轉換器自動應用。預設情況下,支援簡單型別(如 intlongDate 等)。型別轉換可以透過 WebDataBinder(參見 DataBinder)或透過向 FormattingConversionService 註冊 Formatter(參見 Spring 欄位格式化)進行定製。

型別轉換中的一個實際問題是空字串源值的處理。如果轉換結果為 null,則此類值被視為缺失。對於 LongUUID 和其他目標型別,可能會出現這種情況。如果你想允許注入 null,可以使用引數註解上的 required 標誌,或者將引數宣告為 @Nullable