Vert.X 4 Web OpenAPI 路由器 blockingHandler

Vert.X 4 Web OpenAPI Router blockingHandler

为什么vertx-web-openapi(随vert.x 4.0.0-milestone5发布)的RouterFactory不支持blockingHandlers?

例如

routerFactory.operation("getPet").handler(Server::get); // this is supported
routerFactory.operation("getPet").blockingHandler(Server::get); // this is not supported

因为我几乎所有的路由在后面都有 SQL 连接,这意味着每次都要调用很多样板文件 vertx.executeBlocking。

我是不是漏掉了什么?

您可以轻松地创建一个阻塞处理程序,使用小样板将您的处理程序包装在 io.vertx.ext.web.impl.BlockingHandlerDecorator:

routerBuilder
  .operationId("myOperation")
  .handler(new BlockingHandlerDecorator(handler, true));

无需手动调用vertx.executeBlocking