我的"路线"文件看起来像:
# 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中提供更多可扩展性。
可以实施吗?
答案 0 :(得分:2)
查看QueryStringBindable和PathBindable特征。尝试为您的案例类(here is example)实现隐式绑定器,然后您需要在build.sbt路由导入中的项目设置中设置保存案例类和绑定器的包:
routesImport ++= Seq("foo", "bar")