像這樣的東西應該工作:
GET /foo controllers.MyController.foo(name: String ?= "", age: Int ?= 0)
由於您的參數可以離開你需要爲他們提供默認值(和控制器功能處理這些值)。
您應該能夠訪問其他可選參數的控制,如果你傳遞一個隱含的請求和訪問getQueryString參數(在播放2.1.0添加我認爲):
def foo(name: String, age: Integer) = Action { implicit request =>
val authCode: Option[String] = request.getQueryString("authCode")
...
}
一個更好的辦法做它可能只是把你可選的姓名和年齡,控制器參數,並從查詢字符串中提取的一切:
def foo = Action { implicit request =>
val nameOpt: Option[String] = request.getQueryString("name")
val ageOpt: Option[String] = request.getQueryString("age")
...
}
更新:本current docs爲2.1.1是有點˚F這個(因爲固定與問題#776),但是這是另一種(和最好的,恕我直言)選項:
GET /foo controllers.MyController.foo(name: Option[String], age: Option[Int])
而且......
def foo(name: Option[String], age: Option[Int]) = Action { implicit request =>
Ok(s"Name is: $name, age is $age")
}
與HTTP有很大關係://計算器.COM /問題/ 9657163 /如何到手柄可選查詢參數,在播放框架 – 2014-07-07 16:46:16