JAVA RESTFull服务器获取带有“%s”的POST数据&引用;(百分比)作为FormParam的值
我正在制作和REST客户端,它接收一个帖子,其中包含数据,用作查询的过滤器。 我的问题是当客户端发送给我一个“%”来搜索所有值时 Jersey向我发送以下错误JAVA RESTFull服务器获取带有“%s”的POST数据&引用;(百分比)作为FormParam的值,java,rest,post,parameters,jersey,Java,Rest,Post,Parameters,Jersey,我正在制作和REST客户端,它接收一个帖子,其中包含数据,用作查询的过滤器。 我的问题是当客户端发送给我一个“%”来搜索所有值时 Jersey向我发送以下错误 11:36:35,857 ERROR [Jersey REST Service]:260 - Servlet.service() for servlet Jersey REST Service threw exception java.lang.IllegalArgumentException: URLDecoder: Illegal h
11:36:35,857 ERROR [Jersey REST Service]:260 - Servlet.service() for servlet Jersey REST Service threw exception
java.lang.IllegalArgumentException: URLDecoder: Illegal hex characters in escape (%) pattern - For input string: "%ip%"
生成此错误的代码是:
@POST
@Path("/Comercial/{campo}")
@Produces("application/json; charset=utf-8")
public static Response findAll(
@PathParam(value = "campo") String campo,
@FormParam("filtro") String filtro){
Object resposta = null;
resposta = new JSONArray();
campo = campo.substring(7);
resposta = SequenciaControl.findDataByTable(campo,filtro);
return Retorno.send(resposta);
}
如果我使用@QueryParam作为GET接收,这是可行的,但我需要将其作为帖子
谢谢 作为请求发送时,必须使用
%25
对百分比进行转义
所以,%ip%”
应该是%25ip%25”