【发布时间】:2021-08-25 12:52:14
【问题描述】:
这里是 Dev rest 客户端 POST 请求 sudocode
public ResponseDTO upload(@RequestParam("metadata") String metaData,
@RequestParam(name="file" , required=false) MultipartFile[] multiPartFiles)
我正在尝试使用 reassured 创建一个 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 请求中期待请求参数,在我的放心代码中,我传递了相同的内容,但我仍然不断收到错误请求。 当我与开发人员核对时,他们说将正文作为请求参数传递。 有人可以帮我在步骤定义代码中做错什么吗? 挣扎了很长时间,非常感谢任何帮助。
【问题讨论】:
-
.queryParam("metadata",reqPayload)-->reqPayload是String吗? -
@NandanA 如果您观察到由 Dev 编写的 Rest 客户端正在接受 POST 请求的负载中的请求参数。是的,它是字符串元数据。
-
你能试试下面提供的解决方案吗?
-
正在尝试。给我时间会发布答案。
-
能否提供请求日志?查询参数中的字符串有什么问题吗?
标签: java cucumber rest-assured