Jersey 1.x正在用空格符号替换加号。我怎么能阻止这个?

时间:2014-02-06 20:54:20

标签: java jersey jersey-1.0

我正在使用泽西客户端向我的球衣服务器发送查询参数。这是查询:?sort=id+ASC

但是在我的代码中检索此查询参数return uriInfo.getQueryParameters().getFirst("sort");,此值的计算结果为id ASC。为什么会发生这种情况,我该如何预防呢?

1 个答案:

答案 0 :(得分:7)

除了@ IanRoberts的建议外,您可以使用@Encoded注释来获取您参数的原始未解码值(默认情况下,Jersey会对值进行解码,这就是id+ASC成为{{1}的原因在您的代码中)。

以下示例检索默认行为的解码值:

id ASC

要更改行为,只需添加@GET @Produces(MediaType.TEXT_PLAIN) @Consumes(MediaType.APPLICATION_FORM_URLENCODED) public Response test(@QueryParam("sort") String sort) { // sort is "id ASC" return Response.ok().entity(sort).build(); }

@Encoded