io.vertx.ext.web

## Interface Route

-     public interface Route

  A route is a holder for a set of criteria which determine whether an HTTP request or failure should be routed to a handler.
  Author:
    Tim Fox

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `Route` | `blockingHandler(Handler<RoutingContext> requestHandler)` Like `blockingHandler(Handler, boolean)` called with ordered = true
    `Route` | `blockingHandler(Handler<RoutingContext> requestHandler, boolean ordered)` Specify a blocking request handler for the route.
    `Route` | `consumes(String contentType)` Add a content type consumed by this route.
    `Route` | `disable()` Disable this route.
    `Route` | `enable()` Enable this route.
    `Route` | `failureHandler(Handler<RoutingContext> failureHandler)` Append a failure handler to the route failure handlers list.
    `String` | `getPath()`
    `Route` | `handler(Handler<RoutingContext> requestHandler)` Append a request handler to the route handlers list.
    `Route` | `last()` Specify this is the last route for the router.
    `Route` | `method(HttpMethod method)` Add an HTTP method for this route.
    `Route` | `order(int order)` Specify the order for this route.
    `Route` | `path(String path)` Set the path prefix for this route.
    `Route` | `pathRegex(String path)` Set the path prefix as a regular expression.
    `Route` | `produces(String contentType)` Add a content type produced by this route.
    `Route` | `remove()` Remove this route from the router
    `Route` | `setRegexGroupsNames(List<String> groups)` When you add a new route with a regular expression, you can add named capture groups for parameters.
    `Route` | `useNormalisedPath(boolean useNormalisedPath)` If true then the normalised request path will be used when routing (e.g.

- - ### Method Detail

    - #### method

          Route method(HttpMethod method)

      Add an HTTP method for this route. By default a route will match all HTTP methods. If any are specified then the route will only match any of the specified methods
      Parameters:
        `method` - the HTTP method to add
      Returns:
        a reference to this, so the API can be used fluently

    - #### path

          Route path(String path)

      Set the path prefix for this route. If set then this route will only match request URI paths which start with this path prefix. Only a single path or path regex can be set for a route.
      Parameters:
        `path` - the path prefix
      Returns:
        a reference to this, so the API can be used fluently

    - #### pathRegex

          Route pathRegex(String path)

      Set the path prefix as a regular expression. If set then this route will only match request URI paths, the beginning of which match the regex. Only a single path or path regex can be set for a route.
      Parameters:
        `path` - the path regex
      Returns:
        a reference to this, so the API can be used fluently

    - #### produces

          Route produces(String contentType)

      Add a content type produced by this route. Used for content based routing.
      Parameters:
        `contentType` - the content type
      Returns:
        a reference to this, so the API can be used fluently

    - #### consumes

          Route consumes(String contentType)

      Add a content type consumed by this route. Used for content based routing.
      Parameters:
        `contentType` - the content type
      Returns:
        a reference to this, so the API can be used fluently

    - #### order

          Route order(int order)

      Specify the order for this route. The router tests routes in that order.
      Parameters:
        `order` - the order
      Returns:
        a reference to this, so the API can be used fluently

    - #### last

          Route last()

      Specify this is the last route for the router.
      Returns:
        a reference to this, so the API can be used fluently

    - #### handler

          Route handler(Handler<RoutingContext> requestHandler)

      Append a request handler to the route handlers list. The router routes requests to handlers depending on whether the various criteria such as method, path, etc match. When method, path, etc are the same for different routes, You should add multiple handlers to the same route object rather than creating two different routes objects with one handler for route
      Parameters:
        `requestHandler` - the request handler
      Returns:
        a reference to this, so the API can be used fluently

    - #### blockingHandler

          Route blockingHandler(Handler<RoutingContext> requestHandler)

      Like `blockingHandler(Handler, boolean)` called with ordered = true

    - #### blockingHandler

          Route blockingHandler(Handler<RoutingContext> requestHandler,
                                boolean ordered)

      Specify a blocking request handler for the route. This method works just like `handler(Handler)` excepted that it will run the blocking handler on a worker thread so that it won't block the event loop. Note that it's safe to call context.next() from the blocking handler as it will be executed on the event loop context (and not on the worker thread. If the blocking handler is ordered it means that any blocking handlers for the same context are never executed concurrently but always in the order they were called. The default value of ordered is true. If you do not want this behaviour and don't mind if your blocking handlers are executed in parallel you can set ordered to false.
      Parameters:
        `requestHandler` - the blocking request handler
        `ordered` - if true handlers are executed in sequence, otherwise are run in parallel
      Returns:
        a reference to this, so the API can be used fluently

    - #### failureHandler

          Route failureHandler(Handler<RoutingContext> failureHandler)

      Append a failure handler to the route failure handlers list. The router routes failures to failurehandlers depending on whether the various criteria such as method, path, etc match. When method, path, etc are the same for different routes, You should add multiple failure handlers to the same route object rather than creating two different routes objects with one failure handler for route
      Parameters:
        `failureHandler` - the request handler
      Returns:
        a reference to this, so the API can be used fluently

    - #### remove

          Route remove()

      Remove this route from the router
      Returns:
        a reference to this, so the API can be used fluently

    - #### disable

          Route disable()

      Disable this route. While disabled the router will not route any requests or failures to it.
      Returns:
        a reference to this, so the API can be used fluently

    - #### enable

          Route enable()

      Enable this route.
      Returns:
        a reference to this, so the API can be used fluently

    - #### useNormalisedPath

          Route useNormalisedPath(boolean useNormalisedPath)

      If true then the normalised request path will be used when routing (e.g. removing duplicate /) Default is true
      Parameters:
        `useNormalisedPath` - use normalised path for routing?
      Returns:
        a reference to this, so the API can be used fluently

    - #### getPath

          String getPath()

      Returns:
        the path prefix (if any) for this route

    - #### setRegexGroupsNames

          Route setRegexGroupsNames(List<String> groups)

      When you add a new route with a regular expression, you can add named capture groups for parameters.
      However, if you need more complex parameters names (like "param_name"), you can add parameters names with this function. You have to name capture groups in regex with names: "p0", "p1", "p2", ...
      For example: If you declare route with regex \/(?[a-z]*)\/(?[a-z]*) and group names ["param_a", "param-b"] for uri /hello/world you receive inside pathParams() the parameter param_a = "hello"
      Parameters:
        `groups` - group names
      Returns:
        a reference to this, so the API can be used fluently

Copyright © 2018 Eclipse. All rights reserved.