SpringBoot 使用 RestTemplate 发送 binary 数据流

这篇具有很好参考价值的文章主要介绍了SpringBoot 使用 RestTemplate 发送 binary 数据流。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

情况说明:
接口A接受到一个数据流,在postman里的传输方式显示如下:
SpringBoot 使用 RestTemplate 发送 binary 数据流,Spring All,spring boot,java,postman
接口A接受到这个数据流之后,需要转发到接口B进行处理。
这里要注意一点是:
postman图中的这种方式和MultipartFile流的传输方式不同,MultipartFile流方式,是在body的form表单中进行传输,需要指定一个key,这样,服务接口根据这个key进行接收流。如下图:
SpringBoot 使用 RestTemplate 发送 binary 数据流,Spring All,spring boot,java,postman

回归正题
后端接口接收binary数据并使用RestTemplate发送出去的相关代码如下:文章来源地址https://www.toymoban.com/news/detail-519558.html

    //读取body 中 binary流数据
    @RequestMapping("/unAvroForward")
    public JSONObject unAvroForward(HttpServletRequest request, @RequestHeader String topic) throws Exception {
        ServletInputStream inputStream = request.getInputStream();
        String url = "http://127.0.0.1:8080/unAvro";
        //转发binary数据
        JSONObject result = sendRequest(url,inputStream,topic,HttpMethod.POST);
        return result;
    }

    @Autowired
    private RestTemplate restTemplate;

    private JSONObject sendRequest(String url, ServletInputStream inputStream, String topic,HttpMethod type) throws Exception, FileNotFoundException {
        //设置请求头
        HttpHeaders httpHeaders = new HttpHeaders();
        //传递请求体时必须设置传递参数的格式,为Content-Type : application/json
        httpHeaders.add("Content-Type", "application/octet-stream");
        httpHeaders.add("topic", topic);
        HttpEntity<byte[]> entity = new HttpEntity<>(IOUtils.toByteArray(inputStream), httpHeaders);
        ResponseEntity<JSONObject> responseEntity = restTemplate.exchange(url, type, entity, JSONObject.class);
        JSONObject result = responseEntity.getBody();
        return result;
    }

到了这里,关于SpringBoot 使用 RestTemplate 发送 binary 数据流的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包