如何将即时开始、结束日期作为 @RequestParam 传递

Sdf*_*f19 5 java spring spring-mvc spring-boot

如何在which are 类型中传递开始日期结束日期@RequestParamjava.time.Instant

目前,我已经创建了一个示例端点,其逻辑如下:

@GetMapping("sample")
public void sample(@RequestParam("from") @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) Instant startDate,
                   @RequestParam("to") @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) Instant endDate) {
    // custom logic ...
}
Run Code Online (Sandbox Code Playgroud)

但是,当我以格式传递开始日期和结束日期时,这不起作用yyyy-MM-dd

例如:

http://localhost:port/sample?from=2019-10-10&to=2019-10-15

我收到以下错误:

Failed to convert value of type 'java.lang.String' to required type 'java.time.Instant'. 
Run Code Online (Sandbox Code Playgroud)

另外问题是,当我在 yyyy-MM-dd HH:mm:ss 创建实体时,如何忽略秒数,这样当我仅传递日期和小时时,它就会显示结果。

Jon*_*ohx -1

您可以使用yyyy-MM-dd HH:mm:ss您想要的日期格式。

@RequestParam("from") @DateTimeFormat(iso = "yyyy-MM-dd HH:mm:ss")
                                      Instant startDate, 
@RequestParam("to") @DateTimeFormat(iso = "yyyy-MM-dd HH:mm:ss") 
                                    Instant endDate)
Run Code Online (Sandbox Code Playgroud)