如何在REST API中将日期(dd / MM / yyyy HH:mm)作为参数传递

nan*_*and 5 java rest spring datetime date

我正在尝试编写一个REST API,在其中我将日期作为URL参数传递。 日期格式为dd / MM / yyyy HH:mm ; REST API URL是

公共静态最终字符串GET_TestDate =“ / stay / datecheck?dateCheckIn = {dateCheckIn}”;

和休息方法是

     @RequestMapping(value = HotelRestURIConstants.GET_TestDate, method = RequestMethod.GET)
        public @ResponseBody String getDate(@PathVariable("dateCheckIn")  @DateTimeFormat(iso= DateTimeFormat.ISO.DATE) String dateCheckIn) {
            logger.info("passing date as a param");
            String str="date"+dateCheckIn;
            return str;
        }
Run Code Online (Sandbox Code Playgroud)

但是当使用REST客户端调用此api时,出现404错误。这是REST URL

http://localhost:8089/stay/datecheck?dateCheckIn="28/01/2016 19:00"
Run Code Online (Sandbox Code Playgroud)

Pau*_*ulo 4

使用 %20 代替空格。您可以使用 %2F 代替斜杠。但是,在获得值后,您必须进行解码(将 %20 转换为空格,将 %2F 转换为斜线)。使用 %3A 代替冒号。您在这里有一个 URL 编码表: http: //www.blooberry.com/indexdot/html/topics/urlencoding.htm

最后一个提示:不要使用引号。

尝试类似的方法:

http://localhost:8089/stay/datecheck?dateCheckIn=28%2F01%2F2016%2019%3A00
Run Code Online (Sandbox Code Playgroud)

记得解码一下。

就像是:String result = java.net.URLDecoder.decode(url, "UTF-8");