クエリのフィルターとして使用するデータを含むPOSTを受信するREST クライアントを作成しています。私の問題は、クライアントがすべての値を検索するために「%」を送信したときです。
ジャージーは私に次のエラーを送ります
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 としてこれが必要です
ありがとう!