Package io.vertx.ext.web.openapi.router
Interface RouterBuilder
-
public interface RouterBuilderInterface to build a Vert.x WebRouterfrom an OpenAPI 3 contract. The router is mounting its handlers in the following order:- RootHandler in the order the root handlers were added to the RouterBuilder.
- ValidationHandler This handler is implementing the marker interface
- UserHandler The custom user handlers defined in the
- FailureHandler The failure handlers defined in the
InputTrustHandler. Because of this, all handlers of type PLATFORM, SECURITY_POLICY, BODY and AUTHENTICATION must be mounted as root handlers if required.OpenAPIRoutein the same order as they are added to the route.OpenAPIRoutein the same order as they are added to the route.
-
-
Field Summary
Fields Modifier and Type Field Description static StringKEY_META_DATA_OPERATIONstatic StringKEY_META_DATA_VALIDATED_REQUEST
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Modifier and Type Method Description static RouterBuildercreate(Vertx vertx, OpenAPIContract contract)Create a newRouterBuilder.static RouterBuildercreate(Vertx vertx, OpenAPIContract contract, RequestExtractor extractor)Create a newRouterBuilder.RoutercreateRouter()Construct a new router based on the related OpenAPI contract.OpenAPIRoutegetRoute(String operationId)Access to a route defined in the contract withoperationIdList<OpenAPIRoute>getRoutes()RouterBuilderrootHandler(Handler<RoutingContext> rootHandler)Add global handler to be applied prior toRouterbeing generated.Securitysecurity(String securitySchemeName)Creates a new security scheme for the requiredAuthenticationHandler.
-
-
-
Field Detail
-
KEY_META_DATA_OPERATION
static final String KEY_META_DATA_OPERATION
- See Also:
- Constant Field Values
-
KEY_META_DATA_VALIDATED_REQUEST
static final String KEY_META_DATA_VALIDATED_REQUEST
- See Also:
- Constant Field Values
-
-
Method Detail
-
create
static RouterBuilder create(Vertx vertx, OpenAPIContract contract)
Create a newRouterBuilder. Likecreate(Vertx, OpenAPIContract, RequestExtractor)but uses a default implementation for the extractor.- Parameters:
vertx- the related Vert.x instancecontract- the contract that describes the endpoint- Returns:
- an instance of
RouterBuilder
-
create
static RouterBuilder create(Vertx vertx, OpenAPIContract contract, RequestExtractor extractor)
Create a newRouterBuilder.- Parameters:
vertx- the related Vert.x instancecontract- the contract that describes the endpointextractor- the extractor is used to extract and transform the parameters and body of the related request in a format that can be validated by theRequestValidator.- Returns:
- an instance of
RouterBuilder
-
getRoute
OpenAPIRoute getRoute(String operationId)
Access to a route defined in the contract withoperationId- Parameters:
operationId- the id of the operation- Returns:
- the requested route, or null if the passed operationId doesn't exist.
-
getRoutes
List<OpenAPIRoute> getRoutes()
- Returns:
- all routes defined in the contract
-
rootHandler
RouterBuilder rootHandler(Handler<RoutingContext> rootHandler)
Add global handler to be applied prior toRouterbeing generated.- Parameters:
rootHandler- the root handler to add- Returns:
- self
-
security
Security security(String securitySchemeName)
Creates a new security scheme for the requiredAuthenticationHandler.- Returns:
- a security scheme.
-
createRouter
Router createRouter()
Construct a new router based on the related OpenAPI contract.- Returns:
- a Router based on the related OpenAPI contract.
-
-