栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Springboot 前后端交互 Long类型传输 前端获取数据受限

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Springboot 前后端交互 Long类型传输 前端获取数据受限

 项目中,在存储userId和instructioId这些字段时,都是使用64为长整数Long类型(数据库的bigint);

后端将数据从DB中查询出来后,返回的userId和instructionId是Long类型

问题原因
1.后端使用64位存储长整数(long),最大支持9223372036854775807

2.前端的JavaScript使用53位来存放,最大支持9007199254740992,超过最大值的数,可能会出现问题(得到的溢出后的值);

解决方式
可以从后端或者前端两方来处理(其中一方进行处理即可,或者两方都处理),需要双方约定好规则即可。

一、解决方法一

通过配置文件进行转换,统一将后端数据值转为字符串类型返回给前端,全局转换效果

spring:
  jackson:
    generator:
      write_numbers_as_strings: true
二、解决方法二

通过注解进行转换,和第一种方法类似,不过为局部转换效果

@JsonSerialize(using=ToStringSerializer.class)
private Long userId;

总结到此。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1021462.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号