springboot 使用DateTimeFormat(pattern="yyyy-MM-dd 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请求

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

 

 

后台报错

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

 

 

报错原因:

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

"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 再次请求,转换成功

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

上一篇:关于最近敲vue前台 使用Element UI 时间操作总少一天的问题


下一篇:vivo y10参数配置