无法使用 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 (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...