Search⌘ K
AI Features

Verticles and Handling Requests

Explore how to structure Vert.x applications by splitting code into verticles and organizing HTTP request handling. Understand routing mechanisms, including subrouting and JSON body parsing, to keep Kotlin reactive microservices modular and maintainable.

Splitting code into verticles in Vert.x

Our current code resides in the App.kt file, which is getting bigger and bigger. We need to find a way to split it. In Vert.x, code is split into classes called verticles.

We can think of a verticle as a lightweight actor.

Let’s see how we can create a new verticle that will encapsulate our server:

class ServerVerticle : CoroutineVerticle() {
    override suspend fun start() {
        val router = router()
        vertx.createHttpServer()
            .requestHandler(router)
            .listen(8081)
        println("open http://localhost:8081")
    }

    private fun router(): Router {
       
...