当前位置: 首页 > 知识库问答 >
问题:

使用 rest 模板在Spring启动中从图形 API 获取图像时出错

景景胜
2023-03-14

我正在使用图形api:

GET /users/{id | userPrincipalName}/photo/$value

使用我的访问令牌获取特定用户的头像。在邮递员中,我可以使用上面的get调用查看图像。在我的spry-boot应用程序中,我使用如下所示:

final ResponseEntity<Object> profilePicture = restTemplate.exchange(graphUrl, HttpMethod.GET, new HttpEntity<>((header)), new ParameterizedTypeReference<>() {});

我收到以下错误:

Could not extract response: no suitable HttpMessageConverter found for response type [class java.lang.Object] and content type [image/jpeg]

我已将RestTemplate定义为:

    @Bean
    public RestTemplate restTemplate() {
        return new RestTemplate();
    }

有人能帮我一下吗?

共有1个答案

梅安平
2023-03-14

您需要将适当的MessageConverter添加到您的RestTemplate

像这样:

 RestTemplate restTemplate = new RestTemplate();
 restTemplate.getMessageConverters().add(new ByteArrayHttpMessageConverter());
 
 ResponseEntity<byte[]> response = restTemplate.exchange(graphUrl, 
 HttpMethod.GET, new HttpEntity<>((header)), byte[].class);

您可以在此处阅读有关此主题的更多信息:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/http/converter/HttpMessageConverter.html

 类似资料:
  • 问题内容: Q1) 在我的reactjs应用程序中,我正在尝试从后端Nodejs服务器获取API。API会根据请求响应图像文件。 我可以在http://192.168.22.124:3000/source/592018124023PM-pexels- photo.jpg 上访问并查看图像文件 但是在我的reactjs客户端上,我在控制台日志上收到此错误。 未捕获(承诺)SyntaxError:意外

  • 我试图通过从REST Web服务获取二进制数据来动态填充图像标记src。我的链接类似于myhost:port/docId/imageId/file,它返回的内容类型为“application/octetstream”,数据类型为二进制。我的方法是获取这个二进制数据,base64对其进行编码(使用jquery.base64.js),然后将base64编码的数据放入src中。一些代码部分如下所示。 我

  • 我有一个springBoot应用程序,它使用Thymeleaf渲染模板。当我从Eclipse运行应用程序时,所有这些都可以完美地工作。但是,当我尝试构建并运行jar时,有一个模板拒绝加载,出现以下异常: 异常处理模板“/XXX/form/importConfiguration”:错误解析模板“/XXX/form/importConfiguration”,模板可能不存在或无法由任何已配置的模板解析程

  • 使用此页可了解 After Effects 中的基本图形面板以及如何使用动态图形模板和主属性。 注意:  Typekit 现已更名为 Adobe Fonts,包含在 Creative Cloud 和其他订阅中。了解详情。 基本图形面板可让您为动态图形创建自定义控件,并通过 Creative Cloud Libraries 将它们共享为动态图形模板或本地文件。基本图形面板就像一个容器,可在其中添加、

  • 我正在开发一个条形码阅读器应用程序,我想在读取条形码时显示产品图像,所以我用产品条形码编号重命名了照片,并将其放入drawables文件夹。照片名称适用于ex 1234567,请尝试使用条形码编号检索。但我在条形码上出错了。我该怎么做?

  • 问题内容: 有没有办法使用Java从https网址获取图像? 到目前为止,我正在尝试: 但是,我得到: 我该如何处理?我必须提取该URL上的6k张图像以上。 问题答案: 有两个问题。您可以使用浏览器访问该网站,并查看错误。 服务器证书是自签名的,不受Java信任。您可以将其添加到信任库。 服务器证书与主机名“ ns6.host.md”不匹配,因此您需要一个忽略它的证书。 另一个答案也是如此,它提供