Java 如何使用RestTemplate从服务器接收应用程序/pdf响应

Java 如何使用RestTemplate从服务器接收应用程序/pdf响应,java,spring,pdf,resttemplate,Java,Spring,Pdf,Resttemplate,我正在尝试捕获java客户端代码发出的HTTP请求的响应。响应的内容类型为application/pdf。在日志中,我可以看到服务器发送了一个响应 Object result = getRestTemplate().postForObject(urlString, formDataHttpEntity, returnClassObject, parametersMapStringString); 我得到以下JUnit错误: org.springframework.web.client.Rest

我正在尝试捕获java客户端代码发出的HTTP请求的响应。响应的内容类型为
application/pdf
。在日志中,我可以看到服务器发送了一个响应

Object result = getRestTemplate().postForObject(urlString, formDataHttpEntity, returnClassObject, parametersMapStringString);
我得到以下JUnit错误:

org.springframework.web.client.RestClientException:无法提取响应:未找到适合响应类型的HttpMessageConverter [java.lang.Object]和内容类型[application/pdf]

我需要做什么才能度过这一关?我的最终目标是将其放入
字节[]
中,并将其放入blob类型的DB table字段中

注意:我从服务器获得以下响应头

HTTP/1.1 200正常缓存控制:最大年龄=0,必须重新验证
内容处置:附件;filename=“Executive Summary.PDF”
内容类型:application/pdf


谢谢,托马斯,它成功了

我将ByteArrayHttpMessageConverter添加到RestTemplate中,它成功了

我补充的代码:

ByteArrayHttpMessageConverter byteArrayHttpMessageConverter = new ByteArrayHttpMessageConverter();

List<MediaType> supportedApplicationTypes = new ArrayList<>();
MediaType pdfApplication = new MediaType("application","pdf");
supportedApplicationTypes.add(pdfApplication);

byteArrayHttpMessageConverter.setSupportedMediaTypes(supportedApplicationTypes);
List<HttpMessageConverter<?>> messageConverters = new ArrayList<>();
messageConverters.add(byteArrayHttpMessageConverter);
restTemplate = new RestTemplate();
restTemplate.setMessageConverters(messageConverters);

Object result = getRestTemplate().getForObject(url, returnClass, parameters);
byte[] resultByteArr = (byte[])result;
ByteArrayHttpMessageConverter ByteArrayHttpMessageConverter=新建ByteArrayHttpMessageConverter();
List supportedApplicationTypes=new ArrayList();
MediaType PDFAApplication=新的MediaType(“应用程序”、“pdf”);
支持的应用程序类型。添加(pdfApplication);
byteArrayHttpMessageConverter.setSupportedMediaTypes(supportedApplicationTypes);
列表将是,您正在查找的内容可以替换为列表支持的ApplicationTypes=new ArrayList()。。。列表