Java 请放心-{“成功”:-1,“消息”:“意外字符(&”x27;%&”x27;(代码37)):应为有效值

Java 请放心-{“成功”:-1,“消息”:“意外字符(&”x27;%&”x27;(代码37)):应为有效值,java,rest,Java,Rest,我试图使用RestAssured读取GET请求的响应,但日志中出现以下错误: {“success”:-1,“msg”:“意外字符('%'(代码37)):输入位置[1,2]应为有效值(数字、字符串、数组、对象、'true'、'false'或'null')”} Rest代码: private Response setRestAssured(String uri) { RestAssured.baseURI = uri; Response res =give

我试图使用RestAssured读取GET请求的响应,但日志中出现以下错误:

{“success”:-1,“msg”:“意外字符('%'(代码37)):输入位置[1,2]应为有效值(数字、字符串、数组、对象、'true'、'false'或'null')”}

Rest代码:

    private Response setRestAssured(String uri) {
        RestAssured.baseURI = uri;

        Response res  =given ()
                .headers("Content-Type", ContentType.JSON, "Accept", ContentType.JSON)
                .when()
                .get ("?ReqData=%7B%22latValue%22%3A39.7392358%2C%22longValue%22%3A-104.990251%2C%22productHash%22%3A7%2C%22clinicHash%22%3A3%2C%22radius%22%3A500%7D")
                .then()
//                .contentType("application/x-JavaScript")
                .extract().response();

        return res;
    }

如何解决此问题?

检查服务器端的请求处理。似乎您正在发送意外数据,而服务器抱怨。您在ReqData中发送url编码的json。可能有两个原因。一个可能是服务器没有解码相同的内容。第二个可能是客户端可能正在对您的url编码再次输入字符串。捕获http数据包并查看发送到服务器的req参数。