Spring REST - Czy RestTemplate może wykorzystywać wieloczęściowe / mieszane?

Chcę napisać usługę REST, która reaguje na plik zip i niektóre dane json, wszystko w jednym wieloczęściowym / mieszanym żądaniu.

Część serwerowa działa dobrze i testuję ją z klientem REST z firefox. Mój serwer wysyła taki wieloczęściowy plik

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

Wiem, że RestTemplate może wysyłać wiele kart za pomocą MultiValueMap z pudełka.

Teraz próbowałem wykorzystać odpowiedzi wieloczęściowe / mieszane i zwrócić mapę 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 istnieje, aby zapobiec wymazywaniu typu (generics).

To daje

org.springframework.web.client.RestClientException: Nie można wyodrębnić odpowiedzi: nie znaleziono odpowiedniego HttpMessageConverter dla typu odpowiedzi [class org.jlot.client.remote.MyMultiValueMap] i typu treści [dane wieloczęściowe / dane formularza; granica = Rjh-fkdsI9OIyPpYwdFY7lsUIewhRSX8kE19I; charset = UTF-8] w org.springframework.web.client.HttpMessageConverterExtractor.extractData (HttpMessageConverterExtractor.java:107) w org.springframework.web.client.RestTemplate.doExecute (RestTemplate.java:492)

Javadoc FormHttpMessageConverter mówi, że może zapisywać, ale nie czytać danych wieloczęściowych / form.

Dlaczego tak jest?

Czy istnieje sposób, aby odczytywać dane wieloczęściowe / formularze za pomocą RestTemplate z pudełka lub czy muszę napisać HttpMessageConverter?

questionAnswers(2)

yourAnswerToTheQuestion