在运行时评估默认参数

时间:2014-02-15 05:35:17

标签: scala playframework routing playframework-2.2

我有以下路线不是我想要的:

GET   /                     controllers.Application.index(someParam = "???")
GET   /:someParam           controllers.Application.index(someParam)

someParam的值在编译时是未知的,因此应在运行时进行评估。

事实上,我想要做的是,index必须始终重定向到index/someParam。因此,如果用户转到/(根路径),则会将其重定向到/someParam(在运行时评估someParam)。如果他们转到/someWrongParam,他们也会被重定向到/someRightParam,这意味着someParam可以在某些有限的值范围内。我希望这不会太复杂。

我看到了这个解决方案https://stackoverflow.com/a/14984873/2813589,但它看起来太复杂了。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

改为创建两个动作

GET   /                     controllers.Application.blankIndex
GET   /:someParam           controllers.Application.index(someParam)

无参数blankIndex操作可以获取任何值集,即在Global objectonStart方法中,然后只使用给定的参数创建common redirectindex