用jackson序列化时
ALLOW_COERCION_OF_SCALARS配置默认是true的,会把String类型的通过方法强制转为数字类型,这样的话即使定义为Integer,Long类型时,参数传的值为字符串比如传"11"通过反序列化会转为11赋值给数字类型.所以如果要强制的按规定类型传值的话可以通过配置设置
spring:
jackson:
mapper:
ALLOW_COERCION_OF_SCALARS: false
加入此配置后,当Integer类型的值,参数传"11"这种时,会报错,只能传11
jackson还有很多能通过配置来设置
Jackson序列化中的类型强制转换配置
本文介绍了Jackson库在序列化时默认的ALLOW_COERCION_OF_SCALARS配置可能导致的类型转换问题。通过Spring配置将其设置为false,可以避免将非数字字符串强制转换为数字类型,如传入11时会引发错误,需严格按照指定类型传递值。
928

被折叠的 条评论
为什么被折叠?



