我正在尝试编写一个将日期作为 URL 参数传递的 rest api。 日期格式为 dd/MM/yyyy HH:mm; REST API URL 是
public static final String 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");
关于java - 如何传递日期(dd/MM/yyyy HH :mm) as a parameter in REST API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34618745/