请放心 - 发送 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 请求,其中 -

  1. 内容类型是“多部分/表单数据”。
  2. 在“正文”部分,我有 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”错误代码。 问题-

  1. 如何才能在Rest Assured中成功拨打这种电话?
  2. 当我想通过此调用同时上传文件时,怎么办?

您需要使用 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");