Routing by paths that begin with something

通常情况下,你会想设置一个通用的前置路径. 如果是这种情况你可以使用正则表达式, 但是一个比较简单的实现方式是在route path的末尾加上一个*.

在下面的例子中,当请求路径前缀为/some/path/的时候,我们设置的handler都会被执行. (例如/some/path/foo.html/some/path/otherdir/blah.css都是匹配的)

  1. Route route = router.route().path("/some/path/*");
  2. route.handler(routingContext -> {
  3. // This handler will be called for any path that starts with
  4. // `/some/path/`, e.g.
  5. // `/some/path`
  6. // `/some/path/`
  7. // `/some/path/subdir`
  8. // `/some/path/subdir/blah.html`
  9. //
  10. // but not:
  11. // `/some/bath`
  12. });

你还可以将路径参数放在route()方法里

  1. Route route = router.route("/some/path/*");
  2. route.handler(routingContext -> {
  3. // This handler will be called same as previous example
  4. });