【踩坑日常,已解决】Failed to convert from type [java.lang.String] to type [java.util.Date]
解决报错:Failedtoconvertfromtype[java.lang.String]totype[java.util.Date]
【踩坑日常,已解决】Failed to convert from type [java.lang.String] to type [java.util.Date]
报错信息
[org.springframework.validation.BindException: org.springframework.validation.BeanPropertyBindingResult: 1 errorsField error in object ‘dailyTrainQueryReq’ on field ‘date’: rejected value [2025-01-15]; codes [typeMismatch.dailyTrainQueryReq.date,typeMismatch.date,typeMismatch.java.util.Date,typeMismatch]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [dailyTrainQueryReq.date,date]; arguments []; default message [date]]; default message [Failed to convert property value of type ‘java.lang.String’ to required type ‘java.util.Date’ for property ‘date’; Failed to convert from type [java.lang.String] to type [java.util.Date] for value ‘2025-01-15’]]
问题场景
前端向后端查询的场景,get请求。传递日期参数时,前端传递的是字符串,后端接收Data类型。后端接收类代码如下:
@Data
public class DailyTrainQueryReq extends PageReq {
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
private Date date;
private String code;
}
解决方法
在后端接收类上修改注解为@DateTimeFormat:
@Data
public class DailyTrainQueryReq extends PageReq {
// @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date date;
private String code;
}
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")这个注解用于post请求,不适用于get请求。
修改之后问题解决!!
更多推荐




所有评论(0)