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);
    };
}
相关推荐
timi先生17 分钟前
语料库全栈项目部署 (Vue + Java + CQPweb)
java·前端·vue.js
sunwenjian88636 分钟前
Java进阶--IO流
java·开发语言
客卿1231 小时前
滑动窗口--模板
java·算法
zjjsctcdl1 小时前
java与mysql连接 使用mysql-connector-java连接msql
java·开发语言·mysql
Moe4882 小时前
WebSocket :从浏览器 API 到 Spring 握手、Handler 与前端客户端
java·后端·架构
顶点多余2 小时前
线程互斥+线程同步+生产消费模型
java·linux·开发语言·c++
⑩-2 小时前
Java基础+集合框架-八股文
java·开发语言
福运常在2 小时前
股票数据API(19)次新股池数据
java·python·maven
Zaki_gd2 小时前
Cortex-M7 D-Cache 与 DMA 缓存一致性说明
java·spring·缓存
多看书少吃饭2 小时前
Vue3 + Java + Python 打造企业级大模型知识库(含 SSE 流式对话完整源码)
java·python·状态模式