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