Java 如何从http.context中获取路由的动态部分!框架

Java 如何从http.context中获取路由的动态部分!框架,java,playframework-2.0,Java,Playframework 2.0,我将play2框架与Java结合使用,其路线如下: GET /clients/:id controllers.Clients.show(id: Long) 此外,我使用动作合成,通过添加带有(BeforeHandler.class)的@来进行before回调。现在,我想检查传递给BeforeHandler中已经存在的操作的id。实际上,它应该在Http.Context中的某个地方,它被传递给我的BeforeHandler的call方法。我能找到的所有东西都是一个带有解

我将play2框架与Java结合使用,其路线如下:

GET   /clients/:id          controllers.Clients.show(id: Long)  
此外,我使用动作合成,通过添加带有(BeforeHandler.class)的
@来进行before回调。现在,我想检查传递给BeforeHandler中已经存在的操作的id。实际上,它应该在Http.Context中的某个地方,它被传递给我的BeforeHandler的call方法。我能找到的所有东西都是一个带有解析静态参数的映射,比如调用controller、调用action和完整路由。我还在
ctx中找到了一个queryString()映射。\u requestHeader().queryString()


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

使用queryString,您试图检查类似于
/clients?id=2


getQueryString(“id”)

将返回2

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

String[] paths = ctx.request().path().split("/");
Long id = Long.getLong(paths[2]);