Handling requests
As we discussed earlier in this chapter, all requests in Vert.x are handled by the Router class. We covered the concept of routing in the previous chapter, so now, let’s just discuss the differences between the Ktor and Vert.x approaches to routing requests.
For now, we’ll set up two endpoints in our router: one for deleting a cat by its ID, and another for updating its details:
private fun router(): Router {
// Our router code comes here now
val router = Router.router(vertx)
router.delete("/cats/:id").handler { ctx ->
// Code for deleting a cat
}
router.put("/cats/:id").handler { ctx ->
// Code for updating a cat
}
return router
}
Both endpoints receive a URL parameter. In Vert.x, we use a colon notation for this.
To be able to parse JSON requests and responses, Vert.x has a BodyHandler
class. Now, let’s declare it as well. This should come just after...