有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java错误:日期为的对象验证失败

使用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

我得到的错误是

Validation failed for object='getCreditPolicyByDateRequest'. Error count: 1

我一直不明白为什么这是个问题。我看了这个解决方案,但似乎正在做他提到的事情

Spring Validation failed for object with date field


共 (1) 个答案

  1. # 1 楼答案

    你可以试着这样做。在get request pass only日期中。然后你可以在课堂上通过考试

    @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