0

我正在使用带有 Java 的 play2 框架,路径如下:

GET   /clients/:id          controllers.Clients.show(id: Long)  

@With(BeforeHandler.class)此外,我通过添加前回调来使用动作组合。现在我想检查已经在我的 BeforeHandler 中传递给操作的 id。实际上它应该在传递给我的 BeforeHandler 的调用方法的 Http.Context 中的某个地方。我能找到的所有东西都有一个带有解析静态参数的映射,比如称为控制器、称为操作和完整路线。我还在ctx._requestHeader().queryString().

我在哪里可以找到动态部分:id?

4

1 回答 1

0

使用 queryString 您正在尝试检查类似的内容
/clients?id=2
并将
getQueryString("id")
返回 2

在你的情况下,你应该做一个正则表达式来找到你需要的东西,或者类似的东西:

String[] paths = ctx.request().path().split("/");
Long id = Long.getLong(paths[2]);
于 2013-08-23T12:50:21.590 回答