spring全局统一日期字符串处理

日期字符串统一处理

项目中实体基本使用的是LocalDateTime,前段传日期字符串会报错,添加如下配置,即可实现全局统一处理,注意这里处理的是LocalDateTime,处理别的字符串需要自己定义逻辑。
注意:字段加注解优先级高于此处配置

@JsonComponent
public class DateFormatConfig {
    private final static DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");

    /**
     * 响应json日期格式化
     */
    public static class DateJsonSerializer extends JsonSerializer<LocalDateTime> {
        @Override
        public void serialize(LocalDateTime localDateTime, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException {
            jsonGenerator.writeString(localDateTime.format(formatter));
        }
    }

    /**
     * 解析json请求日期字符串
     */
    public static class DateJsonDeserializer extends JsonDeserializer<LocalDateTime> {
        @Override
        public LocalDateTime deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException, JsonProcessingException {
            return LocalDateTime.parse(jsonParser.getText(), formatter);
        }
    }
}

版权声明:本文为weixin_45922154原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。