在vert.x中发送压缩响应

Los*_*any 3 vert.x

我有一个RESTful服务器,可以向客户端发回大量的JSON.我在Grails中实现了服务器,并且做了一些基准测试我在vert.x中重写了它.

一切正常,除了gzip压缩之外,我还没有找到一种在vert.x中激活它的方法.我在vert.x网站,这里和谷歌搜索了一个答案,我无法找到任何信息,所以我试着在这里发帖回答:)

反正在vert.x上有gzip响应吗?

提前致谢!

Dim*_* II 11

VertX 3.x中的压缩支持略有修改.

现在它可以通过(Java示例)打开:

HttpServerOptions serverOptions = new HttpServerOptions();
serverOptions.setCompressionSupported(true);
HttpServer server = vertx.createHttpServer(serverOptions);
Run Code Online (Sandbox Code Playgroud)


Los*_*any 10

我想我找到了自己问题的答案......

在vert.x 2.1M1中,他们为HttpServer和添加了HTTP压缩DefaultHttpServer.要激活它,您必须使用该方法setCompressionSupported(true).

它似乎对我不起作用,即使我使用vert.x 2.1M1.这是因为我使用的是Groovy,而自版本2.0.0起,vert.x mod-lang-groovy还没有更新.

所以Java vert.x libs允许压缩,但包装Java的Groovy libs不允许.该setCompressionSupported(true)方法给了我一个NotSuchMethod异常.

我找到了一个解决方法.我使用toJavaServer()方法来恢复Groovy中的Java HttpServer,然后调用setCompressionSupported(true)这个Java HttpServer.

现在我在我的Groovy Verticle中有HTTP压缩:)