java - 错误: validation failed for objects with date

标签 java spring datetime controller

使用 spring 我有这个端点,

@RequestMapping(value = "/time/{date}", method = RequestMethod.GET)
public ModelRunCollection getPolicyByDate(GetPolicyByDateRequest request) {
    return delegate.submit(request);
}

请求对象如下所示

@Getter
@Setter
public class GetPolicyByDateRequest {

    @DateTimeFormat(pattern = "YYYY-MM-DDTHH:mm:ss.sssZ")
    private DateTime date;

    public GetPolicyByDateRequest date(DateTime date) {
        this.date = date;
        return this;
    }
}

我点击的网址是这个

http://localhost:8080/time/2020-01-17T00:33:53.148Z

我得到的错误是

对象='getCreditPolicyByDateRequest'的验证失败。错误计数:1

我一直无法理解为什么这是一个问题。我查看了这个解决方案,但似乎正在做他提到的确切事情

Spring Validation failed for object with date field

最佳答案

你可以尝试这样做。在获取请求中仅传递日期。稍后您就可以在类里面通过它。

@RequestMapping(value = "/time/{date}", method = RequestMethod.GET)
public ModelRunCollection  getPolicyByDate(
        @PathVariable("date")
        @DateTimeFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'")
                DateTime date) {
    return delegate.submit(new GetPolicyByDateRequest(date));
}

有关其他示例,您可以查看 this出来。

关于java - 错误: validation failed for objects with date,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59779926/

相关文章:

spring - 如何使用大写环境变量设置 Spring camel case 属性?

android - 无法将android中的POST请求发送到Grails后端

spring - 在请求头验证错误的情况下,让 Spring 响应 400(而不是 500)

c# - 使用 CSVHelper 强制 ISO 8601

php - 如何保存 YYYY-MM-DDThh :mm:ssTZD formated date/time in MySQL?

java - JUnit4 fail() 在这里,但是 pass() 在哪里?

Java如何等待命令完成?

java - Android - 无法修复折叠工具栏布局中的工具栏

python - 在 Matplotlib 中使用日期时间作为刻度

Java 反射,getMethod()