将来自POST请求的二进制输入数据(gzip压缩)发送到Spring Web Flux

时间:2018-08-02 07:37:26

标签: java spring gzip binary-data spring-webflux

我正在尝试将一堆gzip压缩数据(基本上是一个json,使用gzip压缩)发送到我的Spring Web Flux应用程序。

我当前使用Postman作为我的Web客户端,并通过请求有效负载(正文->原始)发送数据。 这是我的有效载荷的一瞥。

[31, -117, 8, 0, 0, 0, 0, 0, 0, 0, -51, ... (there's a lot more)

使用 Content-Type:application / json Content-Encoding:gzip

这就是我从http服务器request中提取数据的方式。

Mono<DataBuffer> dataBufferMono = request.flatMap(req -> req.bodyToMono(DataBuffer.class)
//...stuff to get dataBuffer out of Mono
byte[] byteArray = IOUtils.toByteArray(dataBuffer.asInputStream());

我提取的这个byteArray应该是从客户端发送的字节数组。但是问题是,不是。 这是我收到的一瞥。

[91, 51, 49, 44, ... (there's a lot more)

我在哪里做错了?我一直在处理此问题,将不胜感激。

注意:我也尝试将 Content-Type 更改为八位位组流,但是没有运气!还尝试使用ByteBuffer代替DataBuffer,但从未成功。

0 个答案:

没有答案