解决19位Long型id传递到web前端丢失精度问题的方法

  • 问题:后端使用雪花算法生成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

你可能感兴趣的:(问题记录,springboot,java,后端)