restemplate和多部分/表单数据响应

wmtdaxz3  于 2021-07-26  发布在  Java
关注(0)|答案(0)|浏览(218)

我需要使用 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 ?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题