spring boot 解决前端处理Long溢出问题(转字符串)

思路:针对出参进行序列化处理

复制代码
package com.sikaryofficial.common.security.config;

import com.fasterxml.jackson.databind.MapperFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.module.SimpleModule;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder;
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;


@Configuration
public class JacksonConfig {

    @SuppressWarnings("deprecation")
    @Bean
    public MappingJackson2HttpMessageConverter jackson2HttpMessageConverter() {
        final Jackson2ObjectMapperBuilder builder = new Jackson2ObjectMapperBuilder();
        /**
         * 序列化时,将 null 值不输出
         * builder.serializationInclusion(JsonInclude.Include.NON_NULL);
         */
        final ObjectMapper objectMapper = builder.build();
        SimpleModule simpleModule = new SimpleModule();
        // Long 转为 String 防止 js 丢失精度
        simpleModule.addSerializer(Long.class, ToStringSerializer.instance);
        objectMapper.registerModule(simpleModule);
        // 忽略 transient 关键词属性
        objectMapper.configure(MapperFeature.PROPAGATE_TRANSIENT_MARKER, true);
        return new MappingJackson2HttpMessageConverter(objectMapper);
    }

}

还可以参考如下:

spring boot解决给前端传值,Long型导致JS值溢出的问题,统一转字符串_后端传了个long js泄露了-CSDN博客

相关推荐
syt_10137 分钟前
grid布局之-子项放置4
开发语言·javascript·ecmascript
喵了meme9 分钟前
C语言实战2
c语言·开发语言·网络
charlie11451419115 分钟前
现代C++工程实践:简单的IniParser3——改进我们的split
开发语言·c++·笔记·学习
fish_xk17 分钟前
c++的引用和类的初见
开发语言·c++
没有bug.的程序员22 分钟前
高频IO服务优化实战指南
java·jvm·spring·容器
yong999022 分钟前
水箱水位控制系统MATLAB实现
开发语言·matlab
通往曙光的路上23 分钟前
授权vvvvvv
java·开发语言·windows
Data_agent24 分钟前
京东商品视频API,Python请求示例
java·开发语言·爬虫·python
a努力。28 分钟前
HSBC Java面试被问:CAS如何解决ABA问题
java·开发语言·面试
lang201509281 小时前
深入解析Java资源加载机制
java·开发语言·python