请放心 - 发送 POST 请求(内容类型:multipart/form-data),静态 JSON 负载和要上传的文件
Rest Assured - Send POST Request (Content-Type : multipart/form-data) with Static JSON Payload and Files to be uploaded
我想发送一个 POST 请求,其中 -
- 内容类型是“多部分/表单数据”。
- 在“正文”部分,我有 2 个参数 -> body - {static JSON Payload},files - {任何文件,比如 .log 文件}
在 Rest Assured Code 中,我能够使用以下代码获取字符串格式的静态 JSON 有效载荷 -
String jsonFilePath = "<<Path to JSON File>>/Test_new.json";
String response = given().log().all().header("X-AUTH-TOKEN",res).body(new String(Files.readAllBytes(Paths.get(jsonFilePath)))).
when().post("<<POST RESOURCE URL>>").
then().log().body().assertThat().statusCode(200).extract().response().asString();
当 运行 此代码仅使用静态 JSON 有效负载时,我收到“415”错误代码。
问题-
- 如何才能在Rest Assured中成功拨打这种电话?
- 当我想通过此调用同时上传文件时,怎么办?
您需要使用 multiPart()
方法上传文件,而不是 body()
方法。例如:
File json = new File("src/test/resources/test_new.json");
File file = new File("src/test/resources/debug.log");
given().log().all()
.multiPart("files", file)
.multiPart("body", json, "application/json")
.post("your_url");
我想发送一个 POST 请求,其中 -
- 内容类型是“多部分/表单数据”。
- 在“正文”部分,我有 2 个参数 -> body - {static JSON Payload},files - {任何文件,比如 .log 文件}
在 Rest Assured Code 中,我能够使用以下代码获取字符串格式的静态 JSON 有效载荷 -
String jsonFilePath = "<<Path to JSON File>>/Test_new.json";
String response = given().log().all().header("X-AUTH-TOKEN",res).body(new String(Files.readAllBytes(Paths.get(jsonFilePath)))).
when().post("<<POST RESOURCE URL>>").
then().log().body().assertThat().statusCode(200).extract().response().asString();
当 运行 此代码仅使用静态 JSON 有效负载时,我收到“415”错误代码。 问题-
- 如何才能在Rest Assured中成功拨打这种电话?
- 当我想通过此调用同时上传文件时,怎么办?
您需要使用 multiPart()
方法上传文件,而不是 body()
方法。例如:
File json = new File("src/test/resources/test_new.json");
File file = new File("src/test/resources/debug.log");
given().log().all()
.multiPart("files", file)
.multiPart("body", json, "application/json")
.post("your_url");