WebResource put删除了' +' requestEntity的字符

时间:2014-08-26 13:15:24

标签: java json jax-rs

我有一个客户端WebService,它使用jersey.api并与另一个RESTful应用程序通信。 我将json数据从javascript发送到客户端,然后发送到应用程序"服务器"。

问题是,当我从客户端收到数据时,字符' +'在那里,当我执行方法put将请求发送到服务器时,它也在那里。但是当我得到UriInfo(在"服务器" WS中)并查看请求属性时,' +'人物消失了。

我已经尝试调试我的应用程序来查找错误,但似乎错误是在泽西方面的某些参数转换中。

有人可以帮助我吗?

case PUT:
   response = resource.accept(types).entity(requestEntity, entityContentType).put(String.class);
   break;

这是将请求发送到服务器的方法。

@PUT
    @Consumes( { MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
    @Produces( { MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
    @Path("method/{param}/{p}")
    public WSResponse method(@Context UriInfo info,

我如何收到" server"

上的请求

1 个答案:

答案 0 :(得分:3)

您需要对该符号进行URL编码,因为+被视为空格。文字加号的正确URL编码为%2B。您应该使用URLCodec中的commons-codec等实用程序。