这个问题,一般是在使用SnowFlake的时候,可能出现
一开始是在新增代码后,测试更新的时候,前端参数传到后台了,但是数据总是不能更新,也没报错。
试了几次之后发现,在更新的时候请求参数的id和之前新增时保存到库中的id不一致了,一般都是最后一位少2或多2。
查了才知道,是java的long型长度,超过了js的处理范围
解决方法,是使用jackson,添加配置:
- 导入
jackson
依赖 - 添加配置
@Configuration
public class JacksonConfig {
@Bean
public ObjectMapper jacksonObjectMapper(Jackson2ObjectMapperBuilder builder) {
ObjectMapper objectMapper = builder.createXmlMapper(false).build();
SimpleModule simpleModule = new SimpleModule();
// simpleModule.addSerializer(Long.class, ToStringSerializer.instance);
simpleModule.addSerializer(Long.class, ToStringSerializer.instance);
objectMapper.registerModule(simpleModule);
return objectMapper;
}
}