SpringBoot使用jackson自定义反序列化接收不同格式的日期

本文介绍了一种在SpringBoot中实现日期格式兼容解析的方法,通过自定义JsonDeserializer实现对不同格式日期字符串的反序列化处理,使得同一接口能够接受多种格式的日期输入。

一、前言

需求:SpringBoot接口兼容不同格式的日期。

实现方式:继承JsonDeserializer实现自定义的反序列化。

二、源码

DateDeSerializer
import cn.hutool.core.date.DateUtil;
import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.JsonDeserializer;
import lombok.extern.slf4j.Slf4j;

import java.io.IOException;

@Slf4j
public class DateDeSerializer extends JsonDeserializer {

    @Override
    public Object deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException, JsonProcessingException {
        String text = jsonParser.getText();
        return DateUtil.parse(text.replaceAll("-", "/"), "yyyy/MM/dd");
    }
}
DemoDto
@Data
public class DemoDto {

    @ApiModelProperty(value = "日期1", example = "2021/12/17")
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值