Java WebResource put删除'+';请求实体的字符

Java WebResource put删除'+';请求实体的字符,java,json,jax-rs,Java,Json,Jax Rs,我有一个客户端Web服务,它使用jersey.api并与另一个RESTful应用程序通信。 我将json数据从javascript发送到客户机,然后它发送到应用程序“服务器” 问题是,当我从客户机接收数据时,字符“+”就在那里,当我执行方法put将请求发送到服务器时,它也在那里。但是当我获取UriInfo(在“server”WS中)并查看请求属性时,“+”字符消失了 我试着调试我的应用程序以发现bug,但似乎错误出在jersey端的一些参数转换中 有人能帮我吗 case PUT: resp

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

问题是,当我从客户机接收数据时,字符“+”就在那里,当我执行方法put将请求发送到服务器时,它也在那里。但是当我获取UriInfo(在“server”WS中)并查看请求属性时,“+”字符消失了

我试着调试我的应用程序以发现bug,但似乎错误出在jersey端的一些参数转换中

有人能帮我吗

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,

如何在“服务器”上接收请求

您需要对该符号进行URL编码,因为
+
被用作空格。文字加号的正确URL编码为
%2B
。您可能应该在urlencode text mean whitespaceexpansing on@talex'注释中使用类似于from的实用程序。

+:您需要对
+
字符进行编码,例如,在客户端将其替换为
%2B