标签:出现 字符串 怎么 obj 带来 ide end mod alt
前端后接口对接时,如果后台的id或者其他字段使用了长整型Long,就很容易出现js丢失精度问题。用接口工具调用时,往往id返回都是对的,但是一到页面上,js就后缀000。MainConfig(通常是主config类,@Configuration注解的,用来导入一些基础配置)增加MessageConvert的重写extendMessageConverters:
@Override
public void extendMessageConverters(List<HttpMessageConverter<?>> converters) {
MappingJackson2HttpMessageConverter jacksonConverter = null;
for (HttpMessageConverter<?> converter : converters) {
if (converter instanceof MappingJackson2HttpMessageConverter) {
jacksonConverter = (MappingJackson2HttpMessageConverter) converter;
}
}
if (jacksonConverter != null) {
jacksonConverter.setObjectMapper(new CustomObjectMapper());
converters.add(jacksonConverter);
}
}
public class CustomObjectMapper extends ObjectMapper {
public CustomObjectMapper() {
super();
SimpleModule simpleModule = new SimpleModule();
simpleModule.addSerializer(Long.class, ToStringSerializer.instance);
simpleModule.addSerializer(Long.TYPE, ToStringSerializer.instance);
registerModule(simpleModule);
}
}
这样,接口返回的时候,所有的长整型字段,会被当做字符串处理,自动加上双引号。
标签:出现 字符串 怎么 obj 带来 ide end mod alt
原文地址:https://blog.51cto.com/10705830/2458328