无法从路径检索查询参数:Vertx 中的 "xxx/:id?version=:version"

Unable to retrieve query param from the Path: "xxx/:id?version=:version" in Vertx

我无法从路径中检索查询参数: /xxx/:id?version=:version在 Vertx 中。

当我尝试访问时:localhost:8080/xxx/1?version=a

我希望 routingContext.request().getParam("id") 到 return 1routingContext.queryParams() 到 return MultiMap 包含 verison : a 但它没有达到所需的方法。

我尝试放置断点并观察到它没有在后端命中所需的方法 (xxx/:id?version=:version)。相反,它使用 Path xxx/:id

命中方法

问题:我passing/handling查询参数有误吗?

在路由中你只需要定义路径参数,你做对了:

router.route(HttpMethod.POST, "/xxx/:id");

您不必定义的查询参数,您可以通过以下方式访问它们:

routingContext.request().queryParams();

如果您正在寻找特定的东西,比如您的版本,您可以通过以下方式访问它:

String version = routingContext.request().getParam("version");