美文网首页
springboot使用雪花算法精度缺失

springboot使用雪花算法精度缺失

作者: Raral | 来源:发表于2021-05-06 17:31 被阅读0次

ruoyi-themleaf和ruoyi-vue 解决思路 通过注解

@Data
public class OwNav extends BaseEntity
{
    private static final long serialVersionUID = 1L;


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

ruoyi-vue-plus 通过配置类

package com.ruoyi.framework.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;

import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.module.SimpleModule;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;

import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;


import java.util.List;

/**
 * @description: 精度缺失配置类
 */
@Configuration
public class LongToJsonConfig  extends WebMvcConfigurationSupport{
    public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
        MappingJackson2HttpMessageConverter jackson2HttpMessageConverter = new MappingJackson2HttpMessageConverter();
        ObjectMapper objectMapper = new ObjectMapper();
        /**
         * 序列换成json时,将所有的long变成string
         * 因为js中得数字类型不能包含所有的java long值
         */
        SimpleModule simpleModule = new SimpleModule();
        simpleModule.addSerializer(Long.class, ToStringSerializer.instance);
        simpleModule.addSerializer(Long.TYPE, ToStringSerializer.instance);
        objectMapper.registerModule(simpleModule);
        jackson2HttpMessageConverter.setObjectMapper(objectMapper);
        converters.add(jackson2HttpMessageConverter);
    }
}

前端需要对字符串类型进行相应的转换,这样会麻烦很多,出现不定时bug
修改vo域中实体类,推荐使用

@Data
@ApiModel("APP用户视图对象")
public class AccUserVo {
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    @ApiModelProperty("主键ID")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;
}

相关文章

网友评论

      本文标题:springboot使用雪花算法精度缺失

      本文链接:https://www.haomeiwen.com/subject/nwmddltx.html