2

在我的项目中,我希望有干净的 URL。因此,我在 conf/routes 中创建条目,例如:

GET   /switzerland  controllers.Application.country(countryCode = "CH")
GET   /germany      controllers.Application.country(countryCode = "DE")
...
GET   /:countryCode  controllers.Application.country(countryCode: String)

我的列表有 130 多个条目,并创建了 StackOverflowError。非常感谢有关如何防止错误的任何帮助。也许这个问题还有一个更优雅的解决方案。

Java 版本:

java version "1.6.0_31"
Java(TM) SE Runtime Environment (build 1.6.0_31-b04-415-11M3646)
Java HotSpot(TM) 64-Bit Server VM (build 20.6-b01-415, mixed mode)

非常感谢您的帮助!

我创建了一个小示例项目,以重现它(至少在我的 Mac 上): https ://github.com/sunsations/play_2.0.1_routes_stackoverflowerror

4

1 回答 1

4

确实,问题发生了,所以我认为更好的地方是Play's Lighthouse

同时,您可以使用 ONE 路线快速轻松地解决它:

GET   /:countryName    controllers.Application.country(countryName : String)

然后在country()行动中,您可以countryCode从由 String 标识的 DB中获取countryName

编辑:

顺便说一句,使用这种方法会更容易使用 UTF 链接,即domain.tld/Росси́я,而不是domain.tld/Russia

于 2012-05-11T07:36:46.717 回答