java - 如何传递日期(dd/MM/yyyy HH :mm) as a parameter in REST API

标签 java spring rest date datetime

我正在尝试编写一个将日期作为 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/

相关文章:

java - 如何在postman中设置属性

java - 聚合计划

java - 在 Java 中调整正方形的大小

java - 我可以使用多个具有不同 JDK 版本的 spring-boot 容器吗?

java - 如何在 Spring + thymeleaf 中制作一个向我发送邮件的联系表单

java - Tomcat 7 和 Jersey RESTful Web 服务的多请求

java - 如何在 Eclipse 表中启用滚动条

java - 如何从另一个 Java 类调用 JFrame

java - Ehcache分布式多 channel

rest - Resource Server 如何理解 OAuth 2.0 中的 Access Token?