- 问题:后端使用雪花算法生成19位Long型id,实体为Long型,查询到web前端时丢失精度。
- 原因:Long型数据在web前端接收时会转换丢失精度。
- 解决方法:传递String型数据。
- 实体字段写成String;
- json解析时序列化将Long型数据转换成String类型传递;
1.jackson 在指定字段上注解@JsonSerialize(using = ToStringSerializer.class),大量实体都是这种定义时不建议用该方式;
2.jackson全局配置,定义ObjectMapper Long 转 String;
3.在application.yml
spring:
jackson:
generator:
writeNumbersAsStrings: true