类型转换
一些带注释的控制器方法参数,它们表示String-基于请求的输入(例如@RequestParam,@RequestHeader,@PathVariable,@MatrixVariable和@CookieValue)
如果参数声明为String.
对于此类情况,将根据配置的转换器自动应用类型转换。
默认情况下,简单类型 (int,long,Date等)支持。您可以自定义
类型转换WebDataBinder(参见DataBinder) 或通过注册Formatters使用FormattingConversionService.
参见 Spring Field Formatting。
类型转换中的一个实际问题是空 String 源值的处理。
如果该值变为null作为类型转换的结果。
这可能是这种情况Long,UUID和其他目标类型。如果要允许null要注入,请使用requiredflag 的 Token,或声明
参数设置为@Nullable.
|
从 5.3 开始,即使在类型转换之后,也会强制使用非 null 参数。如果您的处理程序
方法也打算接受 null 值,请将您的参数声明为 或者,您可以专门处理,例如,生成的 |