Spring Controller @RequestBody avec le téléchargement de fichiers est-il possible?

J'ai un Contrôleur de ce genre et je veux envoyer un formulaire avec téléchargement du fichier ainsi que certaines données de forme d'étiquettes comme indiqué ci-dessous. Aussi, je veux le faire à l'aide de @RequestBody donc je peux utiliser le @Valide annotation sur l'emballage en tant que variables supplémentaires seront ajoutés.

public @ResponseBody WebResponse<Boolean> updateEUSettings(
    final Locale locale,
    @Validated @ModelAttribute final EUPSettingsWrapper endUserPortalSettingsWrapper) {
}

Et mon wrapper est:

public class EUPSettingsWrapper {

    private String label;
    private MultipartFile logo;
//getter , setters..etc...
}

Mais je voudrais le convertir en un @RequestBody de ModelAttributes.

La façon dont je suis en train d'essayer, c'est d'avoir l'upload d'un fichier séparé comme paramètre de la requête comme ceci:

public @ResponseBody WebResponse<Boolean> updateEUSettings(
    final Locale locale,
    @Validated @RequestBody final EUPSettingsWrapper endUserPortalSettingsWrapper, 
    @RequestParam(value = "file1", required = true) final MultipartFile logo) {

    endUserPortalSettingsWrapper.setLogo(logo);

    //...
}

Dans ma maquette MVC, je suis en train d':

getMockMvc().perform(fileUpload(uri).file(logo)
                        .accept(MediaType.APPLICATION_JSON)
                        .content(JSONUtils.toJSON(wrapper))
                        .contentType(MediaType.MULTIPART_FORM_DATA))
                        .andExpect(status().isOk());

Mais j'obtiens une erreur comme celui-ci qui dit:

org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'multipart/form-data' not supported

Quelqu'un a une bonne idée de la façon Multipart les uploads de fichier peut être utilisé avec @RequestBody? Tout ce que je fais de mal?

source d'informationauteur Yatin