From bf078a4124b7c989289216d19a6bc1027c0e47a0 Mon Sep 17 00:00:00 2001 From: Krzysztof Urman Date: Thu, 24 Oct 2019 20:54:58 +0200 Subject: [PATCH] #4835 | --- .../java/io/quarkus/vertx/web/SimpleRouteTest.java | 2 ++ .../quarkus/vertx/web/runtime/VertxWebRecorder.java | 11 ++++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) 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 fd473f125dabc9..2248f480f5c2c7 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 a5c54e8de51e96..ffc08969aa4fb1 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; + } + } + }