vertx / io.vertx.ext.web.api.contract.openapi3 / OpenAPI3RouterFactory

# OpenAPI3RouterFactory

`interface OpenAPI3RouterFactory : RouterFactory<OpenAPI>`

Interface for OpenAPI3RouterFactory. To add an handler, use `OpenAPI3RouterFactory#addHandlerByOperationId(String, Handler)`, in this class is better than generic `RouterFactory#addHandler(HttpMethod, String, Handler)` If you want to use `RouterFactory#addHandler(HttpMethod, String, Handler)` remember that you have to pass path as declared in openapi specification Usage example:

    OpenAPI3RouterFactory.createRouterFactoryFromFile(vertx, "src/resources/spec.yaml", asyncResult -> { if (!asyncResult.succeeded()) { // IO failure or spec invalid } else { OpenAPI3RouterFactory routerFactory = asyncResult.result(); routerFactory.addHandlerByOperationId("operation_id", routingContext -> { // Do something }, routingContext -> { // Do something with failure handler }); Router router = routerFactory.getRouter(); } });

Author
Francesco Guardiani @slinkydeveloper

### Functions

addFailureHandlerByOperationId | `abstract fun addFailureHandlerByOperationId(operationId: String, failureHandler: Handler<RoutingContext>): OpenAPI3RouterFactory` Add a failure handler by operation_id field in Operation object
addHandlerByOperationId | `abstract fun addHandlerByOperationId(operationId: String, handler: Handler<RoutingContext>): OpenAPI3RouterFactory` Add an handler by operation_id field in Operation object
addSecuritySchemaScopeValidator | `abstract fun addSecuritySchemaScopeValidator(securitySchemaName: String, scopeName: String, handler: Handler<RoutingContext>): OpenAPI3RouterFactory` Add a particular scope validator. The main security schema will not be called if a specific scope validator is configured
create | `open static fun create(vertx: Vertx, url: String, handler: Handler<AsyncResult<OpenAPI3RouterFactory>>): Unit` Create a new OpenAPI3RouterFactory

### Inherited Functions

addSecurityHandler | `abstract fun addSecurityHandler(securitySchemaName: String, handler: Handler<RoutingContext>): RouterFactory<Any>` Mount to paths that have to follow a security schema a security handler
getOptions | `abstract fun getOptions(): RouterFactoryOptions` Get options of router factory. For more info RouterFactoryOptions
getRouter | `abstract fun getRouter(): Router` Construct a new router based on spec. It will fail if you are trying to mount a spec with security schemes without assigned handlers Note: Router is constructed in this function, so it will be respected the path definition ordering.
setOptions | `abstract fun setOptions(options: RouterFactoryOptions): RouterFactory<Any>` Override options