Long类型精度丢失

当实体类中的字段为Long类型,且值超过前端js显示的长度范围时会导致前端回显错误。

方法1 使用@JsonSerialize注解的时候把Long自动转为String

复制代码
@JsonSerialize(using = ToStringSerializer.class)
private Long id;

方法2 使用@JsonFormat注解的时候把Long自动转为String

复制代码
@JsonFormat(shape = JsonFormat.Shape.STRING)
private Long id;

方法3 全局配置org.config.WebMvcConfiguration中添加如下代码

复制代码
   builder.serializerByType(Long.class, ToStringSerializer.instance);
   builder.serializerByType(Long.TYPE, ToStringSerializer.instance);

具体配置如下

复制代码
@Bean
public Jackson2ObjectMapperBuilderCustomizer jackson2ObjectMapperBuilderCustomizer() {
    return builder -> {
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        //返回时间数据序列化
        builder.serializerByType(LocalDateTime.class, new LocalDateTimeSerializer(formatter));
        //接收时间数据反序列化
        builder.deserializerByType(LocalDateTime.class, new LocalDateTimeDeserializer(formatter));
        //序列化Long
        builder.serializerByType(Long.class, ToStringSerializer.instance);
        builder.serializerByType(Long.TYPE, ToStringSerializer.instance);
    };
}
相关推荐
迷藏4942 分钟前
**基于Python与Neo4j的知识图谱构建实践:从数据到语义网络的跃迁**在人工智能与大数据深度融合
java·人工智能·python·neo4j
C++chaofan4 分钟前
RPC 框架序列化器实现深度解析
java·开发语言·网络·网络协议·rpc·序列化器
wuqingshun3141595 分钟前
说一下@RequestBody和@ResponseBody的区别?
java·开发语言·jvm
堕2745 分钟前
JavaEE初阶——《多线程--. Thread 类及常⻅⽅法》
java·java-ee
mldlds7 分钟前
Spring Boot 集成 Kettle
java·spring boot·后端
wangchunting11 分钟前
数据结构-线性数据结构
java·开发语言·数据结构
majingming1238 小时前
FUNCTION
java·前端·javascript
zopple8 小时前
常见的 Spring 项目目录结构
java·后端·spring
xuxie999 小时前
N11 ARM-irq
java·开发语言
cjy00011110 小时前
springboot的 nacos 配置获取不到导致启动失败及日志不输出问题
java·spring boot·后端