Package io.vertx.ext.web.openapi.router
Interface RouterBuilder
-
public interface RouterBuilder
Interface to build a Vert.x WebRouter
from 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.OpenAPIRoute
in the same order as they are added to the route.OpenAPIRoute
in the same order as they are added to the route.
-
-
Field Summary
Fields Modifier and Type Field Description static String
KEY_META_DATA_OPERATION
static String
KEY_META_DATA_VALIDATED_REQUEST
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Modifier and Type Method Description static RouterBuilder
create(Vertx vertx, OpenAPIContract contract)
Create a newRouterBuilder
.static RouterBuilder
create(Vertx vertx, OpenAPIContract contract, RequestExtractor extractor)
Create a newRouterBuilder
.Router
createRouter()
Construct a new router based on the related OpenAPI contract.OpenAPIRoute
getRoute(String operationId)
Access to a route defined in the contract withoperationId
List<OpenAPIRoute>
getRoutes()
RouterBuilder
rootHandler(Handler<RoutingContext> rootHandler)
Add global handler to be applied prior toRouter
being generated.Security
security(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 toRouter
being 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.
-
-