【问题标题】:Pass java date into rest query parameter将java日期传递给rest查询参数
【发布时间】:2013-09-10 10:10:26
【问题描述】:

我有

@PUT
@Path("{id}")
public Response modify(@PathParam("id") Integer id, 
                       @QueryParam("user") String user, @QueryParam("time") Date time) {....

我正在尝试使用 RestClient 来调用这个 Web 服务(上面实际上是我所拥有的缩减版)

当我打电话时

..../123?user=user1

我点击了网络服务。只要我添加时间,我就会收到一条 403 禁止消息

..../123?user=user1&time=2013-09-10T20:00:00Z

即使我没有向时间查询参数传递任何内容,我也会得到 403。

传递 java 日期有什么不同吗?

提前致谢

【问题讨论】:

标签: java rest


【解决方案1】:

它无法将String 反序列化为Date。两个选项是您可以修改日期类接受的日期字符串或使用其他形式,例如 long 值。

【讨论】:

    【解决方案2】:

    一个观察:您似乎在查询参数之前添加了一个额外的斜杠(/):

    改一下

    ..../123/?user=user1&time=2013-09-10T20:00:00Z
    

    ..../123?user=user1&time=2013-09-10T20:00:00Z
    

    第二件事是您可能必须对 URL 进行编码才能将日期正确发送到服务器

    【讨论】:

      猜你喜欢
      • 2017-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-19
      • 2016-09-24
      • 1970-01-01
      • 2011-09-17
      • 1970-01-01
      相关资源
      最近更新 更多