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] 中收到的参数中使用冒号作为前缀=]方法。
我偶然发现了一些细节,只是想确保我没有遗漏一些明显的东西。
如果我这样定义路由:
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] 中收到的参数中使用冒号作为前缀=]方法。