使用openfeign调用下载流的文件不完整的替代方案

本文介绍了OpenFeign作为声明式Web服务客户端在业务场景中的使用,如通过Java接口调用下载服务并上传至Minio。遇到音频下载不完整的问题时,作者转向使用RestTemplate替代Feign解决了该问题。

OpenFeign是一种声明式的Web服务客户端,它使得编写HTTP客户端变得更加简单和直观。它使用了注解方式来描述HTTP API,使得开发者可以使用Java接口来调用远程HTTP服务。

OpenFeign的核心特点包括:

  • 声明式API: 您可以使用注解声明要调用的远程API,然后使用Java接口调用它们。

  • 定制化接口: 您可以使用FeignBuilder类定制客户端接口的行为。

  • 支持编码器和解码器: Feign支持多种编码器和解码器,可以将请求和响应转换为Java对象。

  • 支持请求和响应压缩: OpenFeign支持gzip和deflate压缩算法。

  • 支持负载均衡: OpenFeign可以与负载均衡组件(如Ribbon)一起使用,以实现服务调用的负载均衡。

总之,OpenFeign是一个方便易用的Web服务客户端,可以帮助开发者快速、灵活地调用远程HTTP服务。

业务场景:获取下游服务的文件下载流,然后上传到minio,获取分享链接 

场景复现

代码

rpc类

@FeignClient(url = "ip:port", name = "infer")
public interface InferRpcService {

    @GetMapping(value = "/download", consumes = MediaType.APPLICATION_OCTET_STREAM_VALUE)
    Response download(@RequestParam("text") String text);
}

调用类


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值