我正在使用spring-boot 2.0.4.RELEASE。
我收到此错误消息:
org.springframework.validation.BeanPropertyBindingResult:1个错误 字段“来自”上的对象“ quoteWarningSearchForm”中的字段错误:拒绝的值[2000-10-31T01:30:00.000-05:00];代码[typeMismatch.quoteWarningSearchForm.from,typeMismatch.from,typeMismatch.java.util.Date,typeMismatch];参数[org.springframework.context.support.DefaultMessageSourceResolvable:代码[quoteWarningSearchForm.from,from];参数[];默认消息[来自]];默认消息[无法将类型'java.lang.String'的属性值转换为属性'from'的必需类型'java.util.Date';嵌套的异常是org.springframework.core.convert.ConversionFailedException:无法从类型[java.lang.String]转换为类型[java.util.Date]的值'2000-10-31T01:30:00.000-05:00 ';嵌套的异常是java.lang.IllegalArgumentException]
我的请求就像:
GET /portal/warnings?from=2000-10-31T01:30:00.000-05:00
如您所见,from
查询参数是Date
。我的端点如下:
public SearchResponse<MetricGroup> metrics(MetricsSearchForm form);
MetricsSearchForm
bean如下:
public class MetricsSearchForm {
private Date from;
private Date to;
}
我也尝试添加:
public class MetricsSearchForm {
private String app;
@DateTimeFormat(iso = ISO.DATE_TIME)
private Date from;
@DateTimeFormat(iso = ISO.DATE_TIME)
private Date to;
}
但这还行不通。
似乎有些愚蠢的问题,我还没有完全解决。
重要提示:我要说的是,我已经尝试过使用10/10/2020
,并且它已正确解析。
有什么想法吗?