如何接受Spring MVC控制器的GET请求中的Date params?

我有一个GET请求,以YYYY-MM-DD格式发送一个date到Spring控制器。 控制器代码如下:

@RequestMapping(value="/fetch" , method=RequestMethod.GET) public @ResponseBody String fetchResult(@RequestParam("from") Date fromDate) { //Content goes here } 

当我使用Firebug检查时,请求被正确发送。 我得到的错误:

HTTP状态400:客户端发送的请求在语法上不正确。

我怎样才能使控制器接受这种格式的date? 请帮忙。 我究竟做错了什么?

好的,我解决了。 写给任何人,在一整天的不间断编码之后,可能会感到疲倦,错过了这样一个愚蠢的事情。

 @RequestMapping(value="/fetch" , method=RequestMethod.GET) public @ResponseBody String fetchResult(@RequestParam("from") @DateTimeFormat(pattern="yyyy-MM-dd") Date fromDate) { //Content goes here } 

是的,这很简单。 只需添加DateTimeFormat注释。

这是我从前端获得格式化date

  @RequestMapping(value = "/{dateString}", method = RequestMethod.GET) @ResponseBody public HttpStatus getSomething(@PathVariable @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) String dateString) { return OK; } 

你可以用它来得到你想要的。