无法使用 WebFlux 流式传输 `application/octet-stream`,总是得到 NULL 响应

问题描述

我正在尝试使用 Web Flux 从 API 获取流响应,但它总是返回 null

尝试类似的东西

var dataBufferFlux = 
webClient
            .get()
            .uri(uri)
            .accept(MediaType.APPLICATION_OCTET_STREAM,MediaType.APPLICATION_JSON)
            .retrieve()
            .onStatus(HttpStatus::is4xxClientError,ApiExceptionHandler::handle4xxErrors)
            .onStatus(HttpStatus::is5xxServerError,ApiExceptionHandler::handle5xxErrors)
            .bodyToFlux(DataBuffer.class)
            .retrywhen(Retry.max(maxHttpRetry)
                .filter(throwable -> (throwable instanceof NotFoundException) || throwable instanceof Api5xxException));

DataBufferUtils.write(dataBufferFlux,Path.of(filenameS3Key.filename())).block();

dataBufferFlux 始终为空,并且来自 API 的响应是流中的 zip 响应。 它没有将响应写入文件。我尝试了很多东西,但无法让它发挥作用。我在这里遗漏了什么吗?

提前致谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)