类型转换

一些表示基于字符串的请求输入(例如,@RequestParam@RequestHeader@PathVariable@MatrixVariable@CookieValue)的带注解控制器方法参数,如果参数被声明为 String 以外的类型,则可能需要类型转换。

在这种情况下,类型转换会根据配置的转换器自动应用。默认情况下,支持简单类型(例如 intlongDate 等)。类型转换可以通过 WebDataBinder(参见 DataBinder)或通过向 FormattingConversionService 注册 Formatters(参见 Spring 字段格式化)进行自定义。

类型转换中一个实际问题是对空字符串源值的处理。如果此类值由于类型转换而变为 null,则将其视为缺失。对于 LongUUID 和其他目标类型来说,可能会出现这种情况。如果您希望允许注入 null,请使用参数注解上的 required 标志,或将参数声明为 @Nullable

© . This site is unofficial and not affiliated with VMware.