本文介绍: 解决我的bug
在写后端的时候,发现后端传过去前端的时候,后端的数据是对的,前端接收的时候,数据对不上,并且还有重复的数据存在,问题如下
后端的代码是返回一个分页数据,其中出问题的是id,这里的在后端中id是Long类型
数据库的这个id是bigInt类型,此时这样返回给到前端是如下结果
结果竟然是全都精度丢失了,变成了一样的
然而数据中,是这样的
出现的原因我这里不是特别明白,日后明白了这里我再补上,我看了别人写的,是因为,前端接收的类型只有number类型,他只有16位,而我们java的long类型是19位,那么就会精度丢失,这很正常,解决办法也很简单粗暴,我们只要换成string类型就ok了,但是这个解决方法有很多中解决方法,再一下做一个记录
写配置,我们在webconfig中,配置一个消息转换器,每次有long类型的数据,就转成string,这样挺方便,就是前端接收的时候,要知道
写一个注解,这样效率不高,但是能解决,就是每次都要在实体类上写,麻烦的很,我不乐意干这个,但是也记录下来
这样也是没有问题的
我认为第一种解决方法,不错了,但是还是有些别扭,Long转换成string,总是不得劲,有强迫症,以后有更好的方案,就贴在这来
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。