【问题标题】:Spring appears to ignore required=false request parametersSpring 似乎忽略 required=false 请求参数
【发布时间】:2018-11-20 22:51:57
【问题描述】:

请提供任何帮助,因为这一切对我来说都很好。我有一个@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

有什么想法吗?

【问题讨论】:

    标签: java rest spring-mvc spring-boot


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2018-05-15
      • 1970-01-01
      • 1970-01-01
      • 2012-01-07
      • 2013-04-15
      • 2015-06-21
      • 1970-01-01
      • 1970-01-01
      • 2020-01-17
      相关资源
      最近更新 更多