類型轉換

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

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

類型轉換中的一個實際問題是空字串來源值的處理。如果空字串值由於類型轉換而變成 null,則會被視為遺失。LongUUID 和其他目標類型可能會發生這種情況。如果您想允許注入 null,請使用引數註解上的 required 標誌,或將引數宣告為 @Nullable