私は@berserkkに同意します。それを1つの頂点にとどめてください。そうしないと、同じポート上で複数のVertexを受信して複数のHTTPサーバーを作成できないため、APIの異なる部分を異なるポートで実行する必要があります。
ただし、APIを分割する良い方法は、vert.x Routers
に基づいている可能性があります。あなたは、例えばRouter
プロバイダを作成することができ、あなたが、APIサブモジュールは、これらのサブモジュールのすべてのために、この
/products/...
/inventory/...
/orders/...
のような構造をしていると仮定しましょうProductsRouterProvider
,InventoryRouterProvider
またはOrdersRouterProvider
。
これらのプロバイダのそれぞれは、特定のAPIモジュールを処理します。基本的に必要なルートを登録します。
class ProductsRouterProvider {
static Router create(Vertx vertx) {
Router router = Router.router(vertx)
router.get("/").handler(new ListAllProductsHandler())
router.get("/:productId").handler(new ProductDetailHandler())
...
return router;
}
}
そして最後に、ベースRouter
上のサブモジュールRouters
を登録します。
Router router = Router.router(vertx)
router.mountSubRouter("/", ProductsRouterProvider.create(vertx))
router.mountSubRouter("/", InventoryRouterProvider.create(vertx))
router.mountSubRouter("/", OrdersRouterProvider.create(vertx))