我希望使用Scala / Play做一些原型/探索式工作,并且我希望每次向控制器添加动作时都不必更新路由。
是否有我可以使用的速记/模糊(如果是,它是什么?)这将告诉Play继续前进并路由到所有给定的一组(事先未知)控制器和动作? / p>
答案 0 :(得分:0)
edit(editType: String) = Action {
implicit request =>
editType match {
case "name" =>
try {
Ok(views.html.editNamePage())
} catch {
case e: Exception =>
Ok(views.html.errorPage())
}
case "saveName" =>
try {
Ok("saveFullName")
} catch {
case e: Exception =>
Ok("0")
}
case "email" =>
try {
Ok(views.html.editEmailpage("result"))
} catch {
case e: Exception =>
Ok(views.html.errorPage())
}
case "saveEmail" =>
try {
Ok("success")
} catch {
case e: Exception =>
Ok("0")
}
case "removeEmail" =>
try {
Ok("success")
} catch {
case e: Exception =>
Ok("0")
}
}
}
ROUTE
POST /edit controllers.ControllerName.edit(editType:String)
您可以在控制器方法上使用模式匹配。通过这种方式,您可以多次使用单个根用于不同目的。它减少了你的路线数量