繁体   English   中英

用于字节的Spring REST模板

[英]Spring REST Template for Byte

我使用spring框架rest模板获取字节数组,但我还需要获取此字节的Mediatype。

此bytearray的mediaType可以是任何类型。

现在用于获取字节的代码如下。

   HttpHeaders headers = new HttpHeaders();
   headers.setAccept(Collections.singletonList(MediaType.valueOf("application/pdf")));
   ResponseEntity<byte[]> result = restTemp.exchange(url, HttpMethod.GET, entity, byte[].class,documentId);

以上代码仅获取pdf内容类型。

如何将contentType设置为接受任何通用MediaType,因为另一端的服务为byteArray提供任何随机MediaType。

有人可以建议如何获取MediaType。

欢迎任何建议..

只是不发送accept标头不强制服务器返回该content-type 这与发送通配符*/*

//HttpHeaders headers = new HttpHeaders();
//headers.setAccept(Collections.singletonList(MediaType.WILDCARD));
ResponseEntity<byte[]> result = restTemp.exchange(url, HttpMethod.GET, entity, byte[].class,documentId);

在此之后,从响应的标题中提取content-type

 byte body[] = result.getBody();
 MediaType contentType = result.getHeaders().getContentType();

您可以在HTTP标头中存储媒体类型,并使用 - ResponseEntity.getHeaders()。 或者您可以将字节数组和媒体类型包装到holder类中。

MediaType mediaType = result.getHeaders()。getContentType();

您可以将MediaType设置为application/octet-stream ,请在此处查看

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM