URL参数和路由配置

时间:2016-02-09 15:46:34

标签: playframework playframework-2.0

我偶然发现了一些细节,只是想确定我不会错过一些明显的东西。

如果我定义这样的路线:

GET    /Program                     controllers.MyProgram.method(program ?= null)

通过

传递的参数
http://localhost:9000/Program?program=MyProgram

MyProgram

但是,我宁愿定义这样的路线:

GET    /Program:program             controllers.MyProgram.method(program)

然后参数通过

传递
localhost:9000/Program:MyProgram

:MyProgram

如何摆脱参数前面的

当然,我可以用Java / Scala手动删除它,但感觉我做错了...

2 个答案:

答案 0 :(得分:1)

您必须为冒号添加正则表达式:

GET /Program$colon<\:>:program       controllers.MyProgram.method(colon, program)

缺点是你的Action有一个冗余参数。

请参阅:this answer

答案 1 :(得分:0)

我认为你需要在你的路线中用/将你的路径与param分开EG:/Program/:program通过这种方式,你可以避免冒号作为你Action中收到的参数的前缀方法