spring boot报错Invalid numeric value: Leading zeroes not allowed

场景:用swagger测试接口时,传递的参数中有0开头的,如下:

接口返回结果报错: Invalid numeric value: Leading zeroes not allowed

 

解决方案:在application.yml中,加上

spring.jackson.parser.allow-numeric-leading-zeros:true 即可。

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 这错误通常是Redis客户端尝试将一个以0开头的数字字符串解析为数字时引起的。在Redis中,不允许数字字符串以0开头,因为这会导致解析错误。要解决此问题,您需要确保将要存储的值不以0开头,并且确保您的代码正确解析和处理Redis返回的值。如果您使用的是Redis客户端库,您也可以尝试将值转换为字符串,然后再将其存储到Redis中。 ### 回答2: 在Redis中,出现"Invalid numeric value: Leading zeroes not allowed"错误是因为在键的操作中,Redis不允许以前导零开头的数字值。在这个错误信息中,[Source: (byte[])\"00000002\"]表示操作的源数据是一个byte数组,其中的值为"00000002"。 这个错误通常发生在尝试将以前导零开头的字符串作为数字存储在Redis中时。因为Redis将所有存储的值都视为字符串,如果一个字符串以前导零开头,并且该字符串应被解析为数字,那么Redis将会抛出"Invalid numeric value: Leading zeroes not allowed"错误。 要解决这个问题,我们可以通过删除前导零或将数值字符串表示为不以前导零开头的方式来避免该错误。例如,将"00000002"改为"2"或"02"都可以避免这个错误。另外,如果存储的值不需要作为数字使用,我们也可以将其表示为一个不以前导零开头的字符串。 总之,当在Redis中出现"Invalid numeric value: Leading zeroes not allowed"错误时,我们需要检查操作的值是否以前导零开头,如果是,需要相应地修改以符合Redis的要求。 ### 回答3: 这个错误信息是由Redis引擎抛出的,意味着在对某个数值进行操作时出现了非法的数字值。其中的原因是因为该数值的开头有一个或多个零,而Redis不允许使用以零开头的数字。 具体来说,在这个错误信息中,源数据是一个字节数组(byte[]),其内容为"00000002"。这个字节数组根据Redis的规则被解析为一个无效的数值,因为以零开头的数字在Redis中是不允许的。 为了解决这个问题,我们需要移除数值中的开头的零。在这个例子中,我们可以将"00000002"简化为"2",这样就得到了一个合法的数值。然后,我们可以使用这个合法的数值进行后续的操作。 总结一下,这个错误信息告诉我们在Redis中使用了一个以零开头的非法数值,因此我们需要移除开头的零,并使用合法的数值来代替。这样就可以解决这个问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

iamlzjoco

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值