Play框架的通用路由参数?

时间:2014-02-27 01:36:06

标签: scala playframework-2.0

我希望使用Scala / Play做一些原型/探索式工作,并且我希望每次向控制器添加动作时都不必更新路由。

是否有我可以使用的速记/模糊(如果是,它是什么?)这将告诉Play继续前进并路由到所有给定的一组(事先未知)控制器和动作? / p>

1 个答案:

答案 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)

您可以在控制器方法上使用模式匹配。通过这种方式,您可以多次使用单个根用于不同目的。它减少了你的路线数量