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.
We'll declare two endpoints to delete cats from the database and update information about a particular cat. We'll use the delete
and put
verbs, respectively, for this:
router.delete("/cats/:id").handler { ctx -> // Code for deleting a cat } router.put("/cats/:id").handler { ctx -> // Code for updating a cat }
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 the instantiation of our router:
val router = Router.router(vertx) router...