如何接受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; }
你可以用它来得到你想要的。