Spring似乎忽略了required = false请求参数

时间:2018-06-11 16:09:47

标签: java rest spring-mvc spring-boot

请帮助,因为这一切对我来说都很好。我有一个@RestController我希望有一个方法可选ZonedDateTime个请求参数,指示查询日期范围的开始/结束,

@GetMapping("/api/v1/user/{userID}/resource/{resourceID}/data")
public ResponseEntity<String> getResourceData(
        @PathVariable String userID,
        @PathVariable String resourceID,
        @RequestParam(name = "start", required = false) @DateTimeFormat(iso = ISO.DATE_TIME)  ZonedDateTime start,
        @RequestParam(name = "end", required = false) @DateTimeFormat(iso = ISO.DATE_TIME)  ZonedDateTime end
) 

路径变量工作正常,但是当我尝试用有效日期点击终点时,它们似乎被忽略了,例如。

curl  http://localhost:8080/api/v1/user/a/resource/a/data?start=2018-01-01T00:00:00.000Z&end=2018-01-02T00:00:00.000Z

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

必须记住使用引号在curl命令中包装URL并正确匹配ISO 8601的预期日期格式