【问题标题】:Vertx access response bodyVertx 访问响应体
【发布时间】:2018-03-18 05:13:15
【问题描述】:

我正在尝试访问为执行验证而编写的 HttpServerResponse 正文。但是,ctx.response.endHandler(e -> ...)/ctx.response.endBodyHandler(e> ...) 不会将 body 传入,也没有 ctx.response.getBody 方法。还有其他方法可以访问发送的响应正文吗?

【问题讨论】:

  • 您是否尝试从服务器内验证response?如果是这样,那么您能否在将其放入响应之前 验证您要编写的任何内容?如果不是(即,如果这是关于验证客户端收到的响应),那么您将使用响应并可能将其序列化为对客户端有意义的表示,然后验证 that
  • 例如,我希望能够附加到router.route('/xyz/*') 并在服务器上验证服务器可能发送的那些端点的任何响应。可以查看端点的所有HttpServerRequests 并验证客户端发送的正文,但没有机制可以在服务器发送的任何响应到达客户端之前读取正文。

标签: vert.x


【解决方案1】:

添加一个 vert.x Web 处理程序来执行验证并编写响应怎么样。它将从上下文中收集有效负载。

所以你的主处理程序以:

结尾
rc.put("result", ...); 
rc.next();

然后您的验证处理程序从路由上下文中检索结果,执行验证并写入响应(如果验证失败,可能会写入错误响应)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多