Interface RouterBuilder


public interface RouterBuilder
Interface to build a Vert.x Web Router from an OpenAPI 3 contract.

The router is mounting its handlers in the following order:
  1. RootHandler
  2. in the order the root handlers were added to the RouterBuilder.
  3. ValidationHandler
  4. This handler is implementing the marker interface InputTrustHandler. Because of this, all handlers of type PLATFORM, SECURITY_POLICY, BODY and AUTHENTICATION must be mounted as root handlers if required.
  5. UserHandler
  6. The custom user handlers defined in the OpenAPIRoute in the same order as they are added to the route.
  7. FailureHandler
  8. The failure handlers defined in the OpenAPIRoute in the same order as they are added to the route.
  • Field Details

  • Method Details

    • create

      static RouterBuilder create(Vertx vertx, OpenAPIContract contract)
      Create a new RouterBuilder. Like create(Vertx, OpenAPIContract, RequestExtractor) but uses a default implementation for the extractor.
      Parameters:
      vertx - the related Vert.x instance
      contract - the contract that describes the endpoint
      Returns:
      an instance of RouterBuilder
    • create

      static RouterBuilder create(Vertx vertx, OpenAPIContract contract, RequestExtractor extractor)
      Create a new RouterBuilder.
      Parameters:
      vertx - the related Vert.x instance
      contract - the contract that describes the endpoint
      extractor - the extractor is used to extract and transform the parameters and body of the related request in a format that can be validated by the RequestValidator.
      Returns:
      an instance of RouterBuilder
    • getRoute

      OpenAPIRoute getRoute(String operationId)
      Access to a route defined in the contract with operationId
      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 to Router being generated.
      Parameters:
      rootHandler - the root handler to add
      Returns:
      self
    • security

      Security security(String securitySchemeName)
      Creates a new security scheme for the required AuthenticationHandler.
      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.