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);
    };
}
相关推荐
清风拂山岗 明月照大江5 小时前
Redis笔记汇总
java·redis·缓存
xiaoxue..6 小时前
合并两个升序链表 与 合并k个升序链表
java·javascript·数据结构·链表·面试
忧郁的Mr.Li6 小时前
SpringBoot中实现多数据源配置
java·spring boot·后端
yq1982043011566 小时前
静思书屋:基于Java Web技术栈构建高性能图书信息平台实践
java·开发语言·前端
一个public的class6 小时前
你在浏览器输入一个网址,到底发生了什么?
java·开发语言·javascript
有位神秘人6 小时前
kotlin与Java中的单例模式总结
java·单例模式·kotlin
golang学习记6 小时前
IntelliJ IDEA 2025.3 重磅发布:K2 模式全面接管 Kotlin —— 告别 K1,性能飙升 40%!
java·kotlin·intellij-idea
爬山算法6 小时前
Hibernate(89)如何在压力测试中使用Hibernate?
java·压力测试·hibernate
消失的旧时光-19437 小时前
第十四课:Redis 在后端到底扮演什么角色?——缓存模型全景图
java·redis·缓存
BD_Marathon7 小时前
设计模式——依赖倒转原则
java·开发语言·设计模式