कुछ इस तरह काम करना चाहिए:
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")
...
}
अद्यतन: 2.1.1 के लिए current docs का एक सा कर रहे हैं यह सिर्फ नियंत्रक मापदंडों के बाहर अपने वैकल्पिक नाम और उम्र लेने के लिए और क्वेरी स्ट्रिंग से सब कुछ निकालने के लिए हो सकता है है इस बारे में च (मुद्दा # 776 के साथ तय हो गई के बाद से), लेकिन यह एक और है (और सबसे अच्छा, IMHO) विकल्प:
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 के साथ संबंधित: // stackoverflow .com/प्रश्न/9657163/कैसे करने वाली संभाल-वैकल्पिक-क्वेरी-पैरामीटर-इन-प्ले-ढांचा –