2

Spring-core 5.2 具有带有解码器的编解码器包,例如StringDecoder支持反应式编程。API 获取Publisher<DataBuffer>并返回解码Flux<String>

我希望找到 GzipDecoder 获得Publisher<DataBuffer>Publisher<ByteArray>gzip 并返回 uncomperesedFlux<ByteArray>但我没有找到它。

我发现符合我要求的唯一库是https://github.com/kptfh/gzip-reactive 但它非常不成熟

任何熟悉成熟的代码?

4

1 回答 1

1

我发现上面的项目从 org.eclipse.jetty.http.GZIPContentDecoder 复制代码

我在下面添加依赖项(由 spring boot 管理)

    <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-http</artifactId>
    </dependency>

并使用 map 函数示例中的 decode 方法:

GZIPContentDecoder decoder = new GZIPContentDecoder(2048);
        return Flux.from(input).map(decoder::decode)
                .doFinally(signalType -> decoder.destroy());
于 2020-03-31T12:25:32.543 回答