Scala Play 2.0:是否可以在"路由"中使用案例类

时间:2014-04-30 06:23:36

标签: scala playframework routes playframework-2.0 case-class

我的"路线"文件看起来像:

# Routes
GET     /         controllers.Application.action(p1 ?= 1, p2 ?= 2, p3 ?= "", p4 ?= "")

我希望有类似的东西:

case class FilterGroup(p1: Int, p2: Int, p3: String, p4: String) // defined in controllers 

# Routes
GET     /         controllers.Application.action(fg ?= FilterGroup(1, 2, "", ""))

优点是,当您需要添加或删除某些参数时,它将在.scala.html中提供更多可扩展性。

可以实施吗?

1 个答案:

答案 0 :(得分:2)

查看QueryStringBindable和PathBindable特征。尝试为您的案例类(here is example)实现隐式绑定器,然后您需要在build.sbt路由导入中的项目设置中设置保存案例类和绑定器的包:

  routesImport ++= Seq("foo", "bar")