vert.x web开发之router

简介

vert.x web开发中router相当于一个核心的控制器,管理多个具体负责处理请求URL的Route对象,它接受来自HttpServer的请求HttpServerRequest,并将请求路由到第一个匹配的Route上去。

主要方法

static Router router(Vertx vertx)

该方法用来创建一个Router对象。

void accept(HttpServerRequest request)

该方法用来给一个请求提供一个Router。通常的使用方式为:将该对象作为参数传递给HttpServer.requestHandler(Handler)方法中。

1
vertx.createHttpServer(serverOptions).requestHandler(router::accept)

Route route();

该方法用来添加一个没有任何匹配条件的Route。也就是说返回的Route可以处理任何请求。

Route route(HttpMethod method, String path)

该方法添加一个处理指定HTTP方法和请求URL的Route。

Route route(String path);

该方法添加一个处理指定URL的Route。

Route routeWithRegex(HttpMethod method, String regex);

该方法添加一个处理指定HTTP方法,正则匹配URL的Route

Route routeWithRegex(String regex);

该方法添加一个正则匹配URL的Route

Route get();

添加一个处理所有GET请求的Route。

Route get(String path);

添加一个处理指定URL的GET请求的Route。

Route getWithRegex(String regex);

添加一个正则匹配URL的GET请求的Route。

其它和HTTP方法处理规则和GET方法类似。

List getRoutes();

该方法返回所有该Router包含的Route列表

Router clear();

清空该Router包含的Route

Router mountSubRouter(String mountPoint, Router subRouter);

挂载一个子Router到该Router上

Router exceptionHandler(@Nullable Handler exceptionHandler);

给该Router添加一个异常处理器,来处理Handler抛出的异常。该Handler不会影响正常的失败路由逻辑。

void handleContext(RoutingContext context);

Used to route a context to the router. Used for sub-routers. You wouldn’t normally call this method directly.

void handleFailure(RoutingContext context);

Used to route a failure to the router. Used for sub-routers. You wouldn’t normally call this method directly.

文章目录
  1. 1. 简介
  2. 2. 主要方法
    1. 2.1. static Router router(Vertx vertx)
    2. 2.2. void accept(HttpServerRequest request)
    3. 2.3. Route route();
    4. 2.4. Route route(HttpMethod method, String path)
    5. 2.5. Route route(String path);
    6. 2.6. Route routeWithRegex(HttpMethod method, String regex);
    7. 2.7. Route routeWithRegex(String regex);
    8. 2.8. Route get();
    9. 2.9. Route get(String path);
    10. 2.10. Route getWithRegex(String regex);
    11. 2.11. List getRoutes();
    12. 2.12. Router clear();
    13. 2.13. Router mountSubRouter(String mountPoint, Router subRouter);
    14. 2.14. Router exceptionHandler(@Nullable Handler exceptionHandler);
    15. 2.15. void handleContext(RoutingContext context);
    16. 2.16. void handleFailure(RoutingContext context);
|