春季启动:日期查询参数字符串格式

时间:2019-01-15 13:38:07

标签: spring spring-boot

我正在使用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,并且它已正确解析。

有什么想法吗?

0 个答案:

没有答案