【问题标题】:How to pass parameter in request body of restassured api in JAVA?如何在JAVA中放心api的请求正文中传递参数?
【发布时间】:2021-03-30 07:49:22
【问题描述】:
In below example, if i run this it is taking z as string, not as parameter, 

String z=   "1234";
        System.out.println("converted"+z);
        try {
            RestAssured.baseURI = "http://192.189.11.51:05/oceans/fssdata/";
            String requestBody ="{\"CompanyID\":z"
                    + ""
                    + ""
                    + "}";`

如何在公司ID中传递参数Z,现在是以公司ID为z,我希望它应该取z的值。

【问题讨论】:

    标签: java api selenium rest-assured rest-assured-jsonpath


    【解决方案1】:

    直接使用字符串时需要小心转义引号。您可以尝试使用下面的代码。

    String z = "\"1234\"";
    
    String requestBody: "{\"name\":"+z+"}";
    

    【讨论】:

      【解决方案2】:

      你可以用这个:

      • 马文 com.github.cliftonlabs

         import com.github.cliftonlabs.json_simple.JsonObject;
             public void createAnAddress() {
             RestAssured.baseURI = "http://192.189.11.51:05/oceans/fssdata/";
             JsonObject requestParams = new JsonObject();
             requestParams.put("CompanyID", "Monroe Company");
        
        
             Response response = given().
                     .header("Content-Type", "application/json").body(requestParams)
                     .post("/oceans/fssdata/");
             System.out.println("Response Body create Add is =>  " + response.getBody().asString());
         }
        

      【讨论】:

        【解决方案3】:

        可以使用JSONObject来传递参数

         import org.json.simple.JSONObject;
        
            String z = "1234";
            JSONObject requestParam = new JSONObject();
            requestParams.put("CompanyID", z);
        
            given()
                    .body(requestParam.toJSONString())
                    .post("/your_endpoint");   
        }
        

        或者您可以使用 String 以您的方式传递

        "{\"CompanyID\" : \""+z+"\",\n" +
         "\"property\": \"value\"\n" +
        "}"
        

        【讨论】:

        • 先生,我尝试如您在第二点 String requestBody ="{"\"CompanyID\" 中提到的那样:\"z\"}" + "" + "" + "}"; 出现错误作为无效的 AssignmentOperator
        • 我编辑第二部分的答案,如果你想在 JSON 字符串中使用多行
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-10-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-09-24
        • 1970-01-01
        相关资源
        最近更新 更多