如何使用 REST Assured 在 POST 请求中传递 RequestParam

How to pass RequestParam in POST request using REST Assured

这里是Dev rest客户端POST请求sudocode

public ResponseDTO upload(@RequestParam("metadata") String metaData, 
    @RequestParam(name="file" , required=false) MultipartFile[] multiPartFiles) 

我正在尝试使用 restassured 创建一个 POST 请求。下面是我的步骤定义代码

 public void havePostCall(String endpoint) {
            String url = be.getBaseUrl()+endpoint;
            FileInputStream fisFile = new FileInputStream(new File("Path of the json file"));
            String reqPayload = IOUtils.toString(fisFile,"UTF-8");
            Response rs = RestAssured.given().header("Authorization","value of token") 
               .queryParam("metadata",reqPayload).when().post(url).then().assertThat().statusCode(200)

                .extract()
                .response () 
           System.out.print("Response is ==" + rs.asString())
          }

正如我们所见,开发休息客户端上传方法在 POST 请求中期待请求参数,在我放心的代码中我传递了相同的但我仍然继续收到 BAD 请求。 当我与开发人员核实时,他们说将正文作为请求参数传递。 有人可以帮助我在我的步骤定义代码中做错了什么吗? 奋斗了很长时间,非常感谢任何帮助。

已解决。问题是传入 queryParam.

的密钥
Response rs = RestAssured.given().header("Authorization","value of token") 
    .queryParam("metaData",reqPayload).when().post(url).then().assertThat().statusCode(200)
    .extract()
    .response () 
System.out.print("Response is ==" + rs.asString())