我需要使用 RestTemplate
将调用以下终结点:
@RequestMapping(value = "/{documentID}", method = RequestMethod.GET, produces = "multipart/form-data")
@ResponseBody
ResponseEntity<MultiValueMap<String, Object>> getDocument(@PathVariable("documentID") long documentID);
此终结点生成 multipart/form-data
包含文档的响应( InputStreamResource
)以及文档的信息(json)部分。但是,我收到以下例外情况:
org.springframework.web.client.UnknownContentTypeException: Could not extract response: no suitable HttpMessageConverter found for response type [interface org.springframework.util.MultiValueMap] and content type [multipart/form-data;boundary=f9yLuCpxZoS4W5lu5iYivlD8fIo28BBMr5PXzu;charset=UTF-8]
我有 FormHttpMessageConverter
(它应该处理表单数据到 MultiValueMap
)在我的 RestTemplate
,但仍然无法工作,因为根据官方文档,此转换器无法读取多部分/表单数据(仅写):https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/http/converter/formhttpmessageconverter.html
这个端点通过postman可以很好地工作,返回json和文件部分,所以我想知道我缺少了哪种魔力来让它工作 RestTemplate
.
是否可以编写一个rest客户机来处理 multipart/form-data
如果是的话,哪一个转换器应该用于这些消息,我必须写一个自定义的 HttpMessageConverter
?
暂无答案!
目前还没有任何答案,快来回答吧!