当前位置: 首页 > news >正文

Spring Boot接口返回Long类型的数据时丢失精度的全局处理

1、问题

当实体类中的字段为Long类型时,通过Ajax请求返回给前段,在js中数据会丢失精度
在这里插入图片描述
直接通过postman请求或通过浏览器请求,看下响应则不会丢失精度
在这里插入图片描述

2、处理方式

1、使用@JsonSerialize注解

@JsonSerialize(using = ToStringSerializer.class)
private Long id;

2、使用@JsonFormat注解

@JsonFormat(shape = JsonFormat.Shape.STRING)
private Long id;

3、全局配置ObjectMapper Bean

import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder;

@Slf4j
@Configuration
public class JacksonConfig {
    /**
     * Jackson对象映射器
     * @param builder builder
     * @return ObjectMapper
     */
    @Bean
    @Primary
    @ConditionalOnMissingBean(ObjectMapper.class)
    public ObjectMapper jacksonObjectMapper(Jackson2ObjectMapperBuilder builder) {
        try {
            // 将Long类型返回时修改为String类型
            builder.serializerByType(Long.TYPE, ToStringSerializer.instance);
            builder.serializerByType(Long.class, ToStringSerializer.instance);
        } catch (Exception e) {
            log.info("Serialization exception!");
        }
        return builder.build();
    }
}

相关文章:

  • LCR 131. 砍竹子 I
  • 什么是混合搜索Hybrid Search?
  • Python 小练习系列 | Vol.14:掌握偏函数 partial,用函数更丝滑!
  • 和DeepSeek聊高速公路定向广播
  • NO.79十六届蓝桥杯备战|数据结构-扩展域并查集-带权并查集|团伙|食物链|银河英雄传说(C++)
  • CesiumEarth v1.12 更新,支持安卓平板离线浏览3DTiles格式的三维倾斜模型
  • 【计网】作业4
  • 树和图论(详细整理,简单易懂!)
  • AutoGLM沉思使用方式
  • 【已完结STM32】--自学江协科技笔记汇总
  • WHAT - React 元素接收的 ref 详解
  • 最新Spring Security实战教程(九)前后端分离认证实战 - JWT+SpringSecurity无缝整合
  • 进程间通信-共享内存
  • 辛格迪客户案例 | 河南宏途食品实施电子合约系统(eSign)
  • Wideband Sparse Reconstruction for Scanning Radar论文阅读
  • Linux网络配置与测试
  • 鸿蒙小案例-京东登录
  • 记录IBM服务器检测到备份GPT损坏警告排查解决过程
  • 信息系统项目管理师-第十四章-项目沟通管理
  • 收敛算法有多少?
  • 高进华“控股”后首份年报出炉,史丹利账上可动资金大幅缩水
  • 丁薛祥在学习《习近平经济文选》第一卷专题研讨班上强调:深入学习贯彻习近平经济思想,加强党中央对经济工作的集中统一领导
  • 缅甸国防军继续延长临时停火期限至5月31日
  • 科技日报刊文批院士专家“赶场式”跑会:助长浮躁之气功利之心
  • 新华每日电讯:上海“绿色大民生”撑起“春日大经济”
  • 侯麦:从莫扎特到贝多芬