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