URL 参数和路由配置

URL Parameter and routing configuration

我偶然发现了一些细节,只是想确保我没有遗漏一些明显的东西。

如果我这样定义路由:

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 手动删除它,但感觉我做错了什么...

您将不得不为冒号添加一个正则表达式:

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

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

参见:this answer

我认为你需要在你的路由中通过 / 将你的路径与参数分开 E.G: /Program/:program 这样,你可以避免在你的 [=12] 中收到的参数中使用冒号作为前缀=]方法。