我想編寫一個REST服務,它使用zipFile和一些json數據進行響應,一切都在一個多部分/混合請求中。Spring REST - RestTemplate是否可以消耗多部分/混合?
服務器部分工作正常,我用firefox的REST客戶端測試它。我的服務器發送這樣
--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的幫助下發出的multipart開箱即用的多。
現在我試圖消耗多部分/混合反應並返回一個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存在,以防止類型擦除(泛型)。
這給出
org.springframework.web.client.RestClientException:無法提取 響應:沒有合適HttpMessageConverter找到的響應類型 [類org.jlot.client.remote.MyMultiValueMap]和內容在 org.springframework.web.client.HttpMessageConverterExtractor.extractData(HttpMessageConverterExtractor.java:107) 在 org.springframework.web鍵入 [字符集= UTF-8的multipart/form-data的;邊界= RJH-fkdsI9OIyPpYwdFY7lsUIewhRSX8kE19I] .client.RestTemplate.doExecute(RestT emplate.java:492)
FormHttpMessageConverter的Javadoc表示它可以編寫但不能讀取multipart/form-data。
這是爲什麼?
有沒有辦法使用RestTemplate即時讀取multipart/form-data或是否需要編寫HttpMessageConverter?
你得回答你的問題?下面的回答對我無效 – Rajesh