Spring REST - может ли RestTemplate использовать multipart / mixed?

Я хочу написать сервис REST, который отвечает zipFile и некоторыми данными json, все в одном запросе multipart / mixed.

Серверная часть работает нормально, и я тестирую его с клиентом REST из Firefox. Мой сервер отправляет несколько частей, как это

--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

Я знаю, что RestTemplate может отправлять мультизапчасти с помощью MultiValueMap из коробки.

Теперь я попытался использовать составные / смешанные ответы и вернуть MultiValueMap

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

class MyMultiValueMap extends LinkedMultiValueMap
{}

MyMultiValueMap существует, чтобы предотвратить стирание типа (обобщение).

Это дает

org.springframework.web.client.RestClientException: Невозможно извлечь ответ: не найден подходящий HttpMessageConverter для типа ответа [class org.jlot.client.remote.MyMultiValueMap] и типа содержимого [multipart / form-data; border = Rjh-fkdsIwIHPHIWIWIWIWF charset = UTF-8] at org.springframework.web.client.HttpMessageConverterExtractor.extractData (HttpMessageConverterExtractor.java:107) в org.springframework.web.client.RestTemplate.T49)

Javadoc из FormHttpMessageConverter говорит, что он может писать, но не читать multipart / form-data.

Почему это так?

Есть ли способ читать multipart / form-data с помощью RestTemplate из коробки или мне нужно написать HttpMessageConverter?

Ответы на вопрос(2)

Ваш ответ на вопрос