Contributor
Francesco Guardiani

Router Factory for Design Driven Web API Development


Mentors
Paulo Lopes
Organization
Eclipse Vert.x

The main objective of my project is to expose functions that generate a Router from an API specification (based on an API specification standard like Swagger or RAML), to help dev teams building its services starting from a Web API specification. This method is called Design Driven Development.

The main idea is to implement an interface inside vertx-web like this:

DesignDrivenRouterFactory routerFactory = new SwaggerDesignDrivenRouterFactory("swagger.json");
routerFactory.addHandler(HttpMethod.POST, "/product", routingContext -> {
    // do stuffs with JsonObject routingContext.getBodyAsJson() !
});
Router router = routerFactory.router();
vertx.createHttpServer().requestHandler(router::accept).listen(8080);

This interface enables developers to create a router based on his API specification without caring about request validation and parameters parsing and other things described in API specification. Also a base interface DesignDrivenRouterFactory will be created to enable Vert.X framework to support multiple specifications standards

Here is my Twitter wall project