diff --git a/extensions/vertx-web/deployment/src/test/java/io/quarkus/vertx/web/SimpleRouteTest.java b/extensions/vertx-web/deployment/src/test/java/io/quarkus/vertx/web/SimpleRouteTest.java index fd473f125dabc..2248f480f5c2c 100644 --- a/extensions/vertx-web/deployment/src/test/java/io/quarkus/vertx/web/SimpleRouteTest.java +++ b/extensions/vertx-web/deployment/src/test/java/io/quarkus/vertx/web/SimpleRouteTest.java @@ -33,6 +33,7 @@ public class SimpleRouteTest { @Test public void testSimpleRoute() { RestAssured.when().get("/hello").then().statusCode(200).body(is("Hello world!")); + RestAssured.when().get("/no-slash").then().statusCode(200).body(is("Hello world!")); RestAssured.when().get("/rx-hello").then().statusCode(200).body(is("Hello world!")); RestAssured.when().get("/bzuk").then().statusCode(200).body(is("Hello world!")); RestAssured.when().get("/hello-event-bus?name=ping").then().statusCode(200).body(is("Hello PING!")); @@ -48,6 +49,7 @@ static class SimpleBean { @Route(path = "/hello") @Route(path = "/foo") + @Route(path = "no-slash") void hello(RoutingContext context) { String name = context.request().getParam("name"); context.response().setStatusCode(200).end("Hello " + (name != null ? name : "world") + "!"); diff --git a/extensions/vertx-web/runtime/src/main/java/io/quarkus/vertx/web/runtime/VertxWebRecorder.java b/extensions/vertx-web/runtime/src/main/java/io/quarkus/vertx/web/runtime/VertxWebRecorder.java index a5c54e8de51e9..ffc08969aa4fb 100644 --- a/extensions/vertx-web/runtime/src/main/java/io/quarkus/vertx/web/runtime/VertxWebRecorder.java +++ b/extensions/vertx-web/runtime/src/main/java/io/quarkus/vertx/web/runtime/VertxWebRecorder.java @@ -44,7 +44,7 @@ public io.vertx.ext.web.Route apply(Router router) { if (!routeAnnotation.regex().isEmpty()) { route = router.routeWithRegex(routeAnnotation.regex()); } else if (!routeAnnotation.path().isEmpty()) { - route = router.route(routeAnnotation.path()); + route = router.route(ensureStartWithSlash(routeAnnotation.path())); } else { route = router.route(); } @@ -92,4 +92,13 @@ public void handle(RoutingContext event) { } }; } + + private String ensureStartWithSlash(String path) { + if (path.startsWith("/")) { + return path; + } else { + return "/" + path; + } + } + }