2

我正在研究 Restful API,在内存中我们有一个 Json 格式的对象,客户需要下载这个 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 实现它,有人可以给出点或一些示例代码来实现它吗?

4

1 回答 1

0

我认为您在方法链中唯一缺少的项目是最后一行:.end(...);

此方法多次重载。对于这里的情况,该方法看起来像.end(Json.encode(jsonObject));转换jsonObjectString. 我认为这只是示例,因为这将返回 zip 文件,但无法使用 zip 存档软件打开(因为它显然是 JSON)。

end(...)方法也Bufferio.vertx.core.buffer.Buffer包中接受,也许这就是您正在寻找的 - 将您拥有的数据转化为Buffer并提供服务。

于 2022-01-11T12:11:47.677 回答