interface OpenAPI3RouterFactory : DesignDrivenRouterFactory<OpenAPI>
Interface for OpenAPI3RouterFactory. To add an handler, use OpenAPI3RouterFactory#addHandlerByOperationId(String, Handler), in this class is better than generic DesignDrivenRouterFactory#addHandler(HttpMethod, String, Handler) If you want to use DesignDrivenRouterFactory#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
abstract fun addFailureHandlerByOperationId(operationId: String, failureHandler: Handler<RoutingContext>): OpenAPI3RouterFactory
Add a failure handler by operation_id field in Operation object |
|
abstract fun addHandlerByOperationId(operationId: String, handler: Handler<RoutingContext>): OpenAPI3RouterFactory
Add an handler by operation_id field in Operation object |
|
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 |
|
open static fun createRouterFactoryFromFile(vertx: Vertx, filename: String, handler: Handler<AsyncResult<OpenAPI3RouterFactory>>): Unit
Create a new OpenAPI3RouterFactory from a filename |
|
open static fun createRouterFactoryFromURL(vertx: Vertx, url: String, handler: Handler<AsyncResult<OpenAPI3RouterFactory>>): Unit
Create a new OpenAPI3RouterFactory from an url |
abstract fun addFailureHandler(method: HttpMethod, path: String, failureHandler: Handler<RoutingContext>): DesignDrivenRouterFactory<Any>
Add a failure handler to a path with a method. If combination path/method is not available in specification, it will throw a RouterFactoryException |
|
abstract fun addHandler(method: HttpMethod, path: String, handler: Handler<RoutingContext>): DesignDrivenRouterFactory<Any>
Add an handler to a path with a method. If combination path/method is not available in specification, it will throw a RouterFactoryException |
|
abstract fun addSecurityHandler(securitySchemaName: String, handler: Handler<RoutingContext>): DesignDrivenRouterFactory<Any>
Mount to paths that have to follow a security schema a security handler |
|
abstract fun enableValidationFailureHandler(enable: Boolean): DesignDrivenRouterFactory<Any>
Enable or disable validation failure handler. If you enable it, during router creation it will be mounted a built-in (or custom with function |
|
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. |
|
abstract fun mountOperationsWithoutHandlers(enable: Boolean): DesignDrivenRouterFactory<Any>
Automatic mount handlers that return HTTP 501 status code for operations where you didn't specify an handler. |
|
abstract fun setValidationFailureHandler(handler: Handler<RoutingContext>): DesignDrivenRouterFactory<Any>
Set default validation failure handler. You can disable this feature from |