Enviando arquivo e JSON em uma relação many to many

Alguém pode me ajudar com essa dúvida?

Você tem isso aqui:

ImageModel foto = productImageService.uploadImage(file);
epi.setFoto((Set<ImageModel>) foto);

Um objeto ImageModel não é um Set<ImageModel>.

Cria um objeto do tipo Set<ImageModel>, em princípio pode ser um HashSet, e aí adiciona o ImageModel nesse Set que você criou.

1 curtida

Com sua ajuda eu me orientei a olhar mais sobre os dados que eu estava recebendo e como eu estava tratando.

Fiz uma função que pega o MultipartFile percorre ele e seta os dados na model correspondente, dessa forma consegui salvar e popular minha tabela no BD.

public Set<ImageModel> uploadImage(MultipartFile[] multipartsFiles) throws IOException {
        Set<ImageModel> imageModels = new HashSet<>();

        for (MultipartFile file: multipartsFiles) {
            var imageModel = new ImageModel();
            imageModel.setName(file.getOriginalFilename());
            imageModel.setType(file.getOriginalFilename());
            imageModel.setImageData(ImageUtility.compressImage(file.getBytes()));
            imageModels.add(imageModel);
       }
        return imageModels;
    }

Obrigado!