Spring 似乎忽略 required=false 请求参数
Posted
技术标签:
【中文标题】Spring 似乎忽略 required=false 请求参数【英文标题】:Spring appears to ignore required=false request parameters 【发布时间】: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
有什么想法吗?
【问题讨论】:
【参考方案1】:必须记住在 curl 命令中使用引号将 URL 包裹起来,并正确匹配 ISO 8601 的预期日期格式
【讨论】:
以上是关于Spring 似乎忽略 required=false 请求参数的主要内容,如果未能解决你的问题,请参考以下文章
spring装配之 @Autowired 和 @Resource 注解的区别
在安全的 Spring Boot RESTful API 上为登录创建不安全的端点 - WebConfig 似乎被忽略了
Spring Boot Security 忽略 cors 配置