此版本仍在开发中,尚不被认为是稳定的。对于最新的稳定版本,请使用 Spring Framework 6.2.10! |
类型转换
一些带注释的控制器方法参数表示String
基于请求的输入(例如@RequestParam
,@RequestHeader
,@PathVariable
,@MatrixVariable
和@CookieValue
)
如果参数声明为String
.
对于这种情况,将根据配置的转换器自动应用类型转换。
默认情况下,简单类型 (int
,long
,Date
等)都得到了支持。您可以自定义
通过WebDataBinder
(参见DataBinder
)或通过注册Formatters
使用FormattingConversionService
.
请参阅 Spring 字段格式。
类型转换中的一个实际问题是处理空的 String 源值。
如果这样的值变成null
类型转换的结果。
这可能是Long
,UUID
和其他目标类型。如果要允许null
要注入,请使用required
标志,或声明
argument 作为@Nullable
.
从 5.3 开始,即使在类型转换后,也将强制执行非空参数。如果您的处理程序
方法也打算接受空值,要么将你的参数声明为 或者,您可以专门处理,例如,生成的 |