我正在研究Restful API,在内存中我们有一个Json-format对象,客户需要下载这个zip文件格式的Json对象。
现在我正在使用Vertx来实现这个GET响应,该响应需要返回ZIP格式的二进制数据,基本上看起来如下,
JsonObject jsonObject = new JsonObject();
jsonObject.put("a", "a1")
.put("b", "b1");
routingContext
.response()
.setStatusCode(200)
.putHeader("Content-Type", "application/zip")
.....
.....
我不知道如何用Vertx routingContext来实现它,有人能给我一些要点或示例代码来实现它吗?
我认为方法链中唯一缺少的项是最后一行:.end(...);
此方法被多次重载。对于上面的情况,该方法看起来像.end(Json.encode(jsonObject));
,其中jsonObject
转换为String
。我认为这只是一个例子,因为它会返回zip文件,但不能用zip存档软件打开(因为它显然是一个JSON(。
end(...)
方法也接受io.vertx.core.buffer.Buffer
包中的Buffer
,也许这就是您想要的——将您拥有的数据转换为Buffer
并提供它。