我正在制作 REST客户端,其中包含 POST ,其数据用作查询的过滤器。 我的问题是当客户向我发送“%”以搜索所有值时。
泽西岛发给我以下错误
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,但我需要这个作为POST
谢谢!
答案 0 :(得分:1)
在将%25
作为请求发送时,必须使用"%ip%"
转义该百分比。
因此,"%25ip%25"
应为{{1}}