今天体育新闻/贵州快速整站优化
long 类型在接口中传输会使最后几位变0
LocalDateTime 类型会把年月日时分秒拆成每个字段 不符合我们之间需要的格式 在配置中添加专门的序列化格式(如果之间项目里面有配置过 MappingJackson2HttpMessageConverter )就直接在里面加对应类型的序列化方式就可以
@Configuration
public class WebConfiguration implements WebMvcConfigurer {/*** 序列化json时,将所有的long变成string* 因为js中得数字类型不能包含所有的java long值*/@Overridepublic void configureMessageConverters(List<HttpMessageConverter<?>> converters) {MappingJackson2HttpMessageConverter jackson2HttpMessageConverter = new MappingJackson2HttpMessageConverter();ObjectMapper objectMapper = new ObjectMapper();SimpleModule simpleModule = new SimpleModule();//long类型处理simpleModule.addSerializer(Long.class, ToStringSerializer.instance);simpleModule.addSerializer(Long.TYPE, ToStringSerializer.instance);//时间simpleModule.addSerializer(LocalDateTime.class, new LocalDateTimeSerializer(DateTimeFormatter.ofPattern(dateTimeFormat)));simpleModule.addSerializer(LocalDate.class, new LocalDateSerializer(DateTimeFormatter.ofPattern(dateFormat)));objectMapper.registerModule(simpleModule);jackson2HttpMessageConverter.setObjectMapper(objectMapper);converters.add(0, jackson2HttpMessageConverter);}private static final String dateFormat = "yyyy-MM-dd";private static final String dateTimeFormat = "yyyy-MM-dd HH:mm:ss";}