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