我正在使用带有Java的play2 Framework有这样的路由:
GET /clients/:id controllers.Clients.show(id: Long)
此外,我通过添加@With(BeforeHandler.class)
来使用动作组合来进行回调。现在我想检查传递给我的BeforeHandler中已有的动作的id。实际上它应该在Http.Context中的某个地方传递给我的BeforeHandler的调用方法。我能找到的所有东西都有一个带有解析静态参数的地图,如被称为控制器,称为动作和完整路径。我还在ctx._requestHeader().queryString()
中找到了一个queryString()地图。
我在哪里可以找到动态部分:id?
答案 0 :(得分:0)
使用queryString,您正在尝试检查类似的内容
/clients?id=2
和
getQueryString("id")
将返回2
在你的情况下,你应该制作一个正则表达式来找到你需要的东西,或类似的东西:
String[] paths = ctx.request().path().split("/");
Long id = Long.getLong(paths[2]);