title: Vertx router configuration
body: <p>I am a novice with vertx so maybe I am doing something wrong. I am trying to implement the following routes:</p>
  
  <pre><code>router.get("/api/users/").handler(this::getUsers);
  router.route("/api/users/:username*").handler(this::checkUsername);
  router.get("/api/users/:username/").handler(this::getUser);
  router.put("/api/users/:username/").handler(this::addUser);
  router.get("/api/users/:username/assignments/").handler(this::getAssignments);
  router.post("/api/users/:username/assignments/").handler(this::addAssignment);
  router.route("/api/users/:username/assignments/:assignmentId/").handler(this::checkAssignmentId);
  router.get("/api/users/:username/assignments/:assignmentId/").handler(this::getAssignment);
  </code></pre>
  
  <p>Is this the correct way to avoid duplicating this logic in all handlers? </p>
  
  <p>I am trying to chain handlers, where the <code>checkUsername</code> handler reads the <code>username</code> parameter from the path, tries to find a corresponding user, and puts that user in the context. If no user is found, a statuscode 400 is returned. Otherwise the next handler is called. I would like to apply the same principle to the <code>assignmentId</code> parameter.</p>
  
  <p>While trying to implement this, I believe I found a problem with the path, more specifically the trailing slash and star. The documentation states that trailing slashes are ignored. This is not the behavior when there is a parameter in the path. In that case the trailing slash matters. If the path definition contains one and the request does not, vertx returns a 404. It does not make a difference whether or not the parameter is at the end of the path or in the middle.</p>
  
  <p>The same goes for paths ending with a star. This functionality does not work when the path contains a parameter.</p>