Mój projekt podzielony jest na 3 moduły https://stackoverflow.com/questions/48050010/dto-with-a-file-without-the-ability-to-use-the-multipartfile-class. Moduł .common' przechowuje między innymi obiekty DTO dla informacji o filmach https://github.com/JonkiPro/REST-Web-Services/tree/master/common/src/main/java/com/common/dto/movie. Wszystkie klasy filmowe dziedziczą z klasy 'MovieInfoDTO ', dzięki temu możliwe jest stworzenie generycznej klasy 'contribution' https://github.com/JonkiPro/REST-Web-Services/blob/master/common/src/main/java/com/common/dto/movie/request/ContributionNew.java. Problem pojawia się, kiedy chcę przesłać plik za pomocą DTO w kontrybucji. Moduł 'common' nie posiada zależności od 'spring.web' https://github.com/JonkiPro/REST-Web-Services/blob/master/common/build.gradle, dlatego nie mogę stworzyć obiektu DTO Photo z polem 'MultipartFile photo;', bo ten moduł nie posiada takiej klasy. Przesyłanie kontrybucji wygląda w ten sposób https://github.com/JonkiPro/REST-Web-Services/blob/master/web/src/main/java/com/web/web/controller/MovieContributionRestController.java. Wpadłem na pomysł, aby stworzyć generyczny obiekt DTO Photo https://pastebin.com/eXndj1Dp,

public ResponseEntity<Void> createPhotoContribution(
       ...
        @RequestBody @Valid final ContributionNew<Photo<MultipartFile>> contribution
) {

Ale zapomniałem, że wszystko przesyłane jest w jednym obiekcie, więc wymaga ode mnie samych danych JSON https://zapodaj.net/a2dcab05f2ecf.png.html.

Jak mogę przesłać plik bez klasy MultipartFile używając do tego kontrybucji? Albo jak zmodyfikować ten kod, abym mógł podać w kontrolerze klasę 'MultipartFile' do obiektu Photo i przesłać plik?