package com.nanjing.water.common.serializer.deserializer; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.databind.DeserializationContext; import com.fasterxml.jackson.databind.JsonDeserializer; import com.nanjing.water.common.ConstantFactory; import com.nanjing.water.common.util.LocalDateTimeUtil; import com.nanjing.water.common.util.StringUtil; import java.io.IOException; import java.time.LocalDate; /** * 自定义json反序列化 LocalDate 属性 * @author linliu * @date 2020-05-12 */ public class CQLocalDateDeSerializer extends JsonDeserializer { @Override public LocalDate deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { String value = p.getText(); if(StringUtil.isMatch(value, ConstantFactory.REGEX_DATE)) { return LocalDateTimeUtil.getDate(value); } else { throw new IOException("can't be deserialize as type “LocalDate”, " + value); } } }