@JsonSerialize(using = ToStringSerializer.class)

场景: id为long,传到后台就变了值 。
测试一下,这个要是只有几位数的情况下,其实都不需要这个注解,大于某个值,19位数的时候就会出问题

解决办法:在实体类上面添加这个注解就可以了。

原因:使用fastjson的ToStringSerializer注解,让系统序列化时,保留相关精度。
ToStringSerializer是一个类,还有一个与它类似的是
@JsonSerialize(using = LongToStringUtil.class) 和前端交互时,值比number数值更大,会导致精度缺失,使用JsonSerialize注解,可以帮助我们解决该问题。
在using = LongToStringUtil.class,可以使用我们自定义的类,来将我们传入的值转换为String类型,来传入到前端,可以解决精度问题,定义的LongToStringUtil类需要继承自JsonSerializer类。

你可能感兴趣的:(JAVA网页后台问题合集,java)