So etwas sollte funktionieren:
GET /foo controllers.MyController.foo(name: String ?= "", age: Int ?= 0)
Da Ihre Parameter können Sie für diese Standardwerte zu schaffen, werden weggelassen (und diese Werte in der Reglerfunktion zu verarbeiten).
Sie sollten in der Lage sein, andere optionale Parameter in der Steuerung zugreifen, wenn Sie in einer impliziten Anforderung übergeben und Zugriff auf die getQueryString Parameter (hinzugefügt in Play 2.1.0 glaube ich):
def foo(name: String, age: Integer) = Action { implicit request =>
val authCode: Option[String] = request.getQueryString("authCode")
...
}
Ein schöner Weg seien sie könnte es nur optionalen Namen und das Alter aus der Reglerparameter zu nehmen und alles aus der querystring extrahieren:
def foo = Action { implicit request =>
val nameOpt: Option[String] = request.getQueryString("name")
val ageOpt: Option[String] = request.getQueryString("age")
...
}
aktualisieren: die current docs für 2.1.1 sind ein bisschen f über diese (da mit der Ausgabe # 776 festgelegt), aber das ist ein anderer (und die beste, IMHO) Option:
GET /foo controllers.MyController.foo(name: Option[String], age: Option[Int])
Und ...
def foo(name: Option[String], age: Option[Int]) = Action { implicit request =>
Ok(s"Name is: $name, age is $age")
}
Sehr viel im Zusammenhang mit http: // Stackoverflow com/questions/9657163/how-to-handle-optionale-Abfrage-Parameter-in-play-Framework –