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);
    };
}
相关推荐
倚肆6 小时前
Spring Boot CORS 配置详解:CorsConfigurationSource 全面指南
java·spring boot·后端
q***72196 小时前
Spring Boot(快速上手)
java·spring boot·后端
CoderYanger6 小时前
C.滑动窗口——1423. 可获得的最大点数
java·开发语言·算法·leetcode·1024程序员节
Swift社区6 小时前
StackOverflowError 栈溢出的原因与实战解决方案
java·spring boot·spring
字节拾光录7 小时前
手机号存储避坑指南:从20亿级数据库实践看,为什么VARCHAR才是终极答案
java·数据库·oracle
p***97617 小时前
SpringBoot(7)-Swagger
java·spring boot·后端
j***29487 小时前
springboot集成onlyoffice(部署+开发)
java·spring boot·后端
叫致寒吧11 小时前
Tomcat详解
java·tomcat
S***267515 小时前
基于SpringBoot和Leaflet的行政区划地图掩膜效果实战
java·spring boot·后端