Я отправляю запрос (номер 1 на картинке) с файлом изображения и входами (входы скрыты).Мой контроллер выглядит следующим образом (MealDto имеет поле MultipartFile):
@PutMapping("/{id}")
Mono<MealDto> editMeal(@PathVariable String id, @Valid MealDto mealDto) {
return mealService.updateMeal(id, mealDto);
}
Все работает нормально, поэтому я хотел написать несколько тестов.Я считал изображение с рабочего стола и использовал MultipartBodyBuilder:
File file = new File("C:\\Users\\xxx\\Desktop\\2.jpeg");
ByteArrayResource byteArrayResource = new ByteArrayResource(Files.readAllBytes(file.toPath())) {
@Override
public String getFilename() {
return "2.jpeg";
}
};
MultipartBodyBuilder bodyBuilder = new MultipartBodyBuilder();
bodyBuilder.part("name", update.getName());
bodyBuilder.part("recipe", update.getRecipe());
bodyBuilder.part("description", update.getDescription());
bodyBuilder.part("imageToSave", byteArrayResource, IMAGE_JPEG);
webTestClient.put().uri(URI)
.body(BodyInserters.fromObject(bodyBuilder.build()))
.exchange()
.expectStatus().isOk();
Номер 2 на изображении, которое я отправляю с помощью webTestClient, и какую ошибку я получил (номер 3 на картинке).Без изображения в бодибилдере это работает нормально - но я хочу протестировать кейс с изображением.