Spring REST - Um RestTemplate pode consumir multipartes / mistos?

Eu quero escrever um serviço REST que responde com um zipFile e alguns dados json, tudo em uma solicitação multipart / mista.

A parte do servidor funciona bem e eu estou testando com o REST Client do firefox. Meu servidor envia uma multiparte como esta

--k-dXaXvCFusLVXUsg-ryiHMmkdttadgcBqi4XH

Content-Disposition: form-data; name="form"
Content-type: application/json

{"projectName":"test","signal":"true"}

--k-dXaXvCFusLVXUsg-ryiHMmkdttadgcBqi4XH
Content-Disposition: form-data; name="file2"; filename="file2.txt"
Content-type: application/octet-stream
Content-Length: 10

hallo=Welt

Eu sei que o RestTemplate pode enviar multiparts com a ajuda de um MultiValueMap fora da caixa.

Agora tentei consumir respostas multipartidas / mistas e retornar um MultiValueMap

@Component
public class RestCommand 
extends AbstractLoginRestCommand<Form, MultiValueMap<String, Object>>
{
    @Override
    protected MultiValueMap<String, Object> executeInternal ( Form form )
    {
        RestTemplate restTemplate = getRestTemplate();
        MyMultiValueMap map = restTemplate.postForObject(getUrl(), form, MyMultiValueMap.class);
        return new LinkedMultiValueMap<String, Object>(map);
    }
}

class MyMultiValueMap extends LinkedMultiValueMap<String, Object>
{}

MyMultiValueMap existe para impedir o apagamento de tipos (genéricos).

Isto dá

org.springframework.web.client.RestClientException: Não foi possível extrair a resposta: nenhum HttpMessageConverter adequado foi encontrado para o tipo de resposta [class org.jlot.client.remote.MyMultiValueMap] e o tipo de conteúdo [multipart / form-data; boundary = Rjh-fkdsI9OIyPpYwdFY7lsUIewhRSX8kE19I; charset = UTF-8] em org.springframework.web.client.HttpMessageConverterExtractor.extractData (HttpMessageConverterExtractor.java:107) em org.springframework.web.client.RestTemplate.doExecute (RestTemplate.java:492)

O Javadoc do FormHttpMessageConverter diz que pode gravar, mas não ler multipart / form-data.

Por que é assim?

Existe uma maneira de ler multipart / form-data com RestTemplate out-of-the-box ou eu preciso escrever um HttpMessageConverter?

questionAnswers(2)

yourAnswerToTheQuestion