vertx / io.vertx.rxjava.ext.web.api.contract / RouterFactory

# RouterFactory

`interface RouterFactory<Specification : Any>`

Main interface for Design Driven Router factory Author: Francesco Guardiani @slinkydeveloper NOTE: This class has been automatically generated from the io.vertx.ext.web.api.contract.RouterFactory non RX-ified interface using Vert.x codegen.

### Functions

addFailureHandler | `abstract fun addFailureHandler(method: HttpMethod, path: String, failureHandler: Handler<RoutingContext>): RouterFactory<Any>` Add a failure handler to a path with a method. If combination path/method is not available in specification, it will throw a io.vertx.rxjava.ext.web.api.contract.RouterFactoryException. Deprecated in favour of operation id
addHandler | `abstract fun addHandler(method: HttpMethod, path: String, handler: Handler<RoutingContext>): RouterFactory<Any>` Add an handler to a path with a method. If combination path/method is not available in specification, it will throw a io.vertx.rxjava.ext.web.api.contract.RouterFactoryException. Deprecated in favour of operation id
addSecurityHandler | `abstract fun addSecurityHandler(securitySchemaName: String, handler: Handler<RoutingContext>): RouterFactory<Any>` Mount to paths that have to follow a security schema a security handler
enableValidationFailureHandler | `abstract fun enableValidationFailureHandler(enable: Boolean): RouterFactory<Any>` Deprecated. Instantiate io.vertx.ext.web.api.contract.RouterFactoryOptions and load it using `io.vertx.rxjava.ext.web.api.contract.RouterFactory#setOptions`
getDelegate | `abstract fun getDelegate(): RouterFactory<Any>`
getOptions | `abstract fun getOptions(): RouterFactoryOptions` Get options of router factory. For more info io.vertx.ext.web.api.contract.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.
mountOperationsWithoutHandlers | `abstract fun mountOperationsWithoutHandlers(enable: Boolean): RouterFactory<Any>` Deprecated. Instantiate io.vertx.ext.web.api.contract.RouterFactoryOptions and load it using `io.vertx.rxjava.ext.web.api.contract.RouterFactory#setOptions`
newInstance | `open static fun <Specification : Any> newInstance(arg: RouterFactory<Any>): RouterFactory<Specification>` `open static fun <Specification : Any> newInstance(arg: RouterFactory<Any>, __typeArg_Specification: TypeArg<Specification>): RouterFactory<Specification>`
setOptions | `abstract fun setOptions(options: RouterFactoryOptions): RouterFactory<Any>` Override options
setValidationFailureHandler | `abstract fun setValidationFailureHandler(handler: Handler<RoutingContext>): RouterFactory<Any>` Deprecated. Instantiate io.vertx.ext.web.api.contract.RouterFactoryOptions and load it using `io.vertx.rxjava.ext.web.api.contract.RouterFactory#setOptions`

### Inheritors

OpenAPI3RouterFactory | `open class OpenAPI3RouterFactory : RouterFactory<OpenAPI>` Interface for OpenAPI3RouterFactory. To add an handler, use `io.vertx.rxjava.ext.web.api.contract.openapi3.OpenAPI3RouterFactory#addHandlerByOperationId`, in this class is better than generic If you want to use 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(); } }); }
NOTE: This class has been automatically generated from the io.vertx.ext.web.api.contract.openapi3.OpenAPI3RouterFactory non RX-ified interface using Vert.x codegen.