|
对于最新稳定版本,请使用 Spring Framework 7.0.6! |
类型转换
某些表示基于字符串的请求输入的注解控制器方法参数(例如,@RequestParam、@RequestHeader、@PathVariable、@MatrixVariable 和 @CookieValue)
在参数声明类型不是 String 时,可能需要进行类型转换。
对于此类情况,类型转换会根据配置的转换器自动应用。
默认情况下,支持简单类型(如 int、long、Date 等)。可以通过 WebDataBinder 自定义类型转换(参见 DataBinder),或者向 FormattingConversionService 注册 Formatters(参见 Spring 字段格式化)。
类型转换中的一个实际问题是,如何处理空字符串(empty String)作为源值的情况。
如果在类型转换后该值变为 null,则将其视为缺失值。
这种情况可能发生在 Long、UUID 以及其他目标类型上。如果您希望允许注入 null 值,
可以在参数注解上使用 required 标志,或者将参数声明为 @Nullable。