package com.baeldung.rest; import com.baeldung.model.Article; import io.vertx.core.AbstractVerticle; import io.vertx.core.Future; import io.vertx.core.json.Json; import io.vertx.ext.web.Router; import io.vertx.ext.web.RoutingContext; public class RestServiceVerticle extends AbstractVerticle { @Override public void start(Future future) { Router router = Router.router(vertx); router.get("/api/baeldung/articles/article/:id") .handler(this::getArticles); vertx.createHttpServer() .requestHandler(router::accept) .listen(config().getInteger("http.port", 8080), result -> { if (result.succeeded()) { future.complete(); } else { future.fail(result.cause()); } }); } private void getArticles(RoutingContext routingContext) { String articleId = routingContext.request() .getParam("id"); Article article = new Article(articleId, "This is an intro to vertx", "baeldung", "01-02-2017", 1578); routingContext.response() .putHeader("content-type", "application/json") .setStatusCode(200) .end(Json.encodePrettily(article)); } }