• springboot 使用DateTimeFormat(pattern="yyyyMMdd HH:mm:ss") 注解把字符串自动转换Date类型报错,注意事项。


    1.DTO

    import lombok.Data;
    import org.springframework.format.annotation.DateTimeFormat;
    
    import java.io.Serializable;
    import java.util.Date;
    
    /**
     * @author: htdd
     * @date: 2022/1/7 11:15
     */
    @Data
    public class TestDTO implements Serializable {
    
        @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
        private Date createTime;
    }

    2.controller

    @PostMapping("test")
    public JsonData test(HttpServletRequest request, @RequestBody TestDTO dto) {
        return JsonData.buildSuccess("success");
    }

    3.postman请求时后报错

    postman请求

    后台报错

    报错原因:

    大体意思就是时间格式不符合要求,查了下文档对于时间,默认的转换格式为

    "yyyy-MM-dd'T'HH:mm:ss.SSSZ"  
    "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"  
    "EEE, dd MMM yyyy HH:mm:ss zzz"  
    "yyyy-MM-dd" 

    解决:

    在配置文件中统一配置

    spring.jackson.time-zone=GMT+8
    spring.jackson.date-format=yyyy-MM-dd HH:mm:ss

    4.postman 再次请求,转换成功

  • 相关阅读:
    第一阶段站立会议7
    人机交互—对win10自带输入法的评价
    个人工作总结15
    构建之法阅读笔记06
    个人工作总结14
    第十三周工作总结
    个人工作总结13
    《梦断代码》阅读笔记02
    个人工作总结12
    小水王
  • 原文地址:https://www.cnblogs.com/sunxun001/p/15774687.html
Copyright © 2020-2023  润新知