日期格式序列话问题!

来源:5-5 Redis集中式缓存商品详情页接入(下)

Code_Deli

2020-07-04

老师,我一开始做项目时候并没有按照你的使用joda-time ,我使用的是util包下的date类,现在进行了序列话出现了下面的错误:能不能帮忙看下,哪里出错了。感谢!
org.springframework.data.redis.serializer.SerializationException: Could not write JSON: Type id handling not implemented for type java.util.Date (by serializer of type com.qdl.serializer.DateJsonSerializer) (through reference chain: com.qdl.service.model.ItemModel[“promoModel”]->com.qdl.service.model.PromoModel[“startDate”]); nested exception is com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Type id handling not implemented for type java.util.Date (by serializer of type com.qdl.serializer.DateJsonSerializer) (through reference chain: com.qdl.service.model.ItemModel[“promoModel”]->com.qdl.service.model.PromoModel[“startDate”])

写回答

2回答

755378268

2022-10-20

@Configuration
public class ObjectMapperConfig {

    /**
     * 设置json转换时间格式
     */
    @Bean
    public ObjectMapper objectMapper() {
        ObjectMapper objectMapper = new ObjectMapper();
        objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
        objectMapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"));
        return objectMapper;
    }

    /**
     * 转成String解决前端long类型精度丢失问题
     */
    @Bean
    public Jackson2ObjectMapperBuilderCustomizer jackson2ObjectMapperBuilderCustomizer() {
        return (jacksonObjectMapperBuilder) -> jacksonObjectMapperBuilder.serializerByType(Long.class, ToStringSerializer.instance).serializerByType(Long.TYPE, ToStringSerializer.instance);
    }

}


0
0

龙虾三少

2020-07-04

你还是里面有java的date对象 报错信息里都有

0
2
龙虾三少
回复
Code_Deli
不建议用java的date,里面坑太多
2020-08-04
共2条回复

聚焦Java性能优化 打造亿级流量秒杀系统(赠秒杀项目)

理解高流量电商网站性能构建思路 用高逼格技术解决性能提升问题

2174 学习 · 1009 问题

查看课程