aso*_*oto 8 java spring spring-mvc spring-restcontroller
我正在创建一个端点,它将接收日期以在服务器端进行一些过滤.代码如下所示:
@RequestMapping(
value = "/test",
method = RequestMethod.GET,
produces = {MediaType.APPLICATION_JSON_VALUE, MediaType.APPLICATION_XML_VALUE}
)
@ResponseStatus(HttpStatus.OK)
public TestSummaryModel getTestSummaryByDate(
@RequestParam ZonedDateTime start,
@RequestParam ZonedDateTime end) {
return testService.getTestBetween(start, end);
}
Run Code Online (Sandbox Code Playgroud)
当我尝试调用我的端点时,我收到HTTP 400错误"客户端发送的请求在语法上是不正确的."
我尝试了不同的日期格式,但没有一个有效.我错过了什么吗?我读到了@DateTimeFormat,但即使我添加了它,也没有用.
@RequestParam @DateTimeFormat(pattern = "dd-MM-yyyy") ZonedDateTime start
Run Code Online (Sandbox Code Playgroud)
这是我正在做的请求的一个例子:
HTTP://主机/测试的API/V1 /测试总结/试验开始= 2015年9月9日和结束= 2015年9月9日
谢谢!
Sot*_*lis 17
@DateTimeFormat是你需要的.Spring MVC 4有适当的转换器ZonedDateTime.
但是,您需要提供适当的模式并发送适当的值.
格式化为日期的信息dd-MM-yyyy不足以产生ZonedDateTime.
尝试
@RequestParam("start") @DateTimeFormat(iso = ISO.DATE_TIME) ZonedDateTime start
Run Code Online (Sandbox Code Playgroud)
并且寄出
...?start=2014-04-23T04:30:45.123Z
Run Code Online (Sandbox Code Playgroud)
或者,使用不需要区域或时间信息的日期类型,并提供适当的日期格式@DateTimeFormat.
| 归档时间: |
|
| 查看次数: |
5931 次 |
| 最近记录: |