服务端长度19位的long型主键,vue前端接收后,默2位会自动四舍五入

提问 未结 1 134
violetlength
violetlength 2022-08-09
悬赏:20积分
sys_user表,@tableId注解 ;新创建的人员,user_id长度根据雪花算法获取19位,此时前端获取时,就会四舍五入,造成获取数据错误; 网上给了方式:@JSONField(serializeUsing= ToStringSerializer.class) 按照这样,条件json注解;此时就需要把@tableId注解进行注释掉;此时会出现插入数据,获取user_id的错误问题; 请问有人具体处理过吗?怎么处理的; 其他相关表也需要按照这个逻辑处理吗?
回帖
  • violetlength
    2022-08-09
    已自行处理: 使用fastjson配置方式;具体代码如下: @Configuration public class CustomFastJsonConfig { @Bean FastJsonHttpMessageConverter fastJsonHttpMessageConverter() { //1.需要定义一个convert转换消息的对象 FastJsonHttpMessageConverter converter = new FastJsonHttpMessageConverter(); //2.添加fastJson的配置信息 FastJsonConfig fastJsonConfig = new FastJsonConfig(); //3.设置id字段为字符串 fastJsonConfig.setSerializeFilters((ValueFilter) (object, name, value) -> { if ("id".equalsIgnoreCase(name)){ return value + ""; } return value; }); //4.在convert中添加配置信息. converter.setFastJsonConfig(fastJsonConfig); return converter; } }
    1 回复