许多服务是通过web URLs调用的,因此检查路径对于了解请求的需求是非常重要的。但是,在requestHandler中执行路径检查来实现不同的操作可能会变得复杂。幸运的是Vert.x Web提供了一个路由器(Router),我们可以在上面注册路由(Routes)。路由是由Vert.x检查路径并调用关联的操作的一种机制。让我们重写start方法,现在它有两条路由:
Override
public void start() {
Router router = Router.router(vertx);
router.get("/").handler(rc -> rc.response().end("hello"));
router.get("/:name").handler(rc -> rc.response()
.end("hello " + rc.pathParam("name")));
vertx.createHttpServer()
.requestHandler(router::accept)
.listen(8080);
}
一旦我们创建了Router对象,我们就注册了两条路由。第一个处理请求“/”,只写回hello。第二种路由有一个路径参数(:name)。处理器会将传递来的值追加到问候消息中。最后,我们更改HTTP服务器的requestHandler,以使用Router的accept方法。
如果您没有停止vertx:运行执行,您应该能够打开浏览器: