背景

项目中使用了Date,前端传递的格式为:yyyy-MM-dd。而全局配置了时间格式为:yyyy-MM-dd HH:mm:ss。导致接口请求报错。
修改过程中,查询到可以使用@DateTimeFormat注解进行参数格式化。但经过测试,发现无效。

原因

经查询,原因如下:@DateTimeFormat只会在类似@RequestParam的请求参数,也就是url传参时才会起作用。而body中以Json格式传递的参数,需要使用@JsonForma进行注解。

解决方案

如果是Url传参,使用以下方式:

    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date end;

如果是Body中,以Json传参,使用:

    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date end;

标签: spring boot, @DateTimeFormat, @JsonFormat, 无效, Date格式

添加新评论