我正在尝试编写一个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;
        }

但是当使用REST客户端调用此api时,出现 404错误
这是REST URL
http://localhost:8089/stay/datecheck?dateCheckIn="28/01/2016 19:00"

最佳答案

代替空格,使用%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

记得解码。

类似于:String result = java.net.URLDecoder.decode(url, "UTF-8");

07-28 13:03