Будьте уверены — Отправьте запрос на публикацию (Тип содержимого : составные данные/данные формы) со статической полезной нагрузкой JSON и файлами для загрузки

#rest-assured

Вопрос:

Я хочу отправить запрос по ПОЧТЕ, где —

  1. Тип контента — «составные данные / формы».
  2. В разделе «Тело» у меня есть 2 параметра -> >тело — {статическая полезная нагрузка JSON}, файлы — {любой файл, скажем .log файл} введите описание изображения здесь

введите описание изображения здесь

В уверенном коде я могу получить статическую полезную нагрузку 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. Как мы можем успешно сделать такой звонок, будьте уверены?
  2. Когда я также хочу загрузить файлы с помощью этого вызова, как это сделать?

Ответ №1:

Вам нужно использовать 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");
 

Комментарии:

1. Огромное спасибо. Это сработало для меня. !!

2. @user1865709 пожалуйста, отметьте это как правильный ответ и поддержите, если сможете. Спасибо