问题:preview 和 response的数据不一致的问题。postman调的接口返回的数据都是对的,但在浏览器中的preview中没有显示正确的数据。
后端语言:java
前端语言:js
解决方案:
在后端返回的类型改成String型
List<String>
原因:
因为前端js所接收的数据Number类型并不能完全表示Long型的数字,在Long长度大于17位时会出现精度丢失的问题,超过17位的部分浏览器会转换为0显示。
js中的Number类型只能解析其中的17位,其他几位补位为0,就会造成如上问题。
补充解决方法:
在不修改数据类型的前提下可以使用@JsonSerialize(using = ToStringSerializer.class)注解解决VO中Long型字段失真问题,也可以继承JsonSerializer,自定义序列化输出方法