खेलने 1.x में आप http.path परम जो हर मार्गPlay Framework 2 में मेरे सभी मार्गों के लिए उपसर्ग कैसे जोड़ें?
मैं खेलने 2.0 में इसी तरह someting कैसे प्राप्त कर सकते में जोड़ने के लिए आप एक यूआरएल सेट करने की अनुमति थी?
खेलने 1.x में आप http.path परम जो हर मार्गPlay Framework 2 में मेरे सभी मार्गों के लिए उपसर्ग कैसे जोड़ें?
मैं खेलने 2.0 में इसी तरह someting कैसे प्राप्त कर सकते में जोड़ने के लिए आप एक यूआरएल सेट करने की अनुमति थी?
मैं play's discussion group में पूछा और उन्होंने मुझे इस प्रारंभिक संस्करण
प्राप्त मैं इस
import play.api.mvc.RequestHeader
import play.api.Play.configuration
import play.api.Play.current
class PrefixedRequest(request: RequestHeader) extends RequestHeader {
def headers = request.headers
def queryString = request.queryString
// strip first part of path and uri if it matches http.path config
def path = ("^" + prefix).r.replaceFirstIn(request.path, "/")
def uri = ("^" + prefix).r.replaceFirstIn(request.uri, "/")
def method = request.method
def remoteAddress = request.remoteAddress
lazy val prefix = {
val config = configuration.getString("http.path").getOrElse("")
if (config.endsWith("/")) config else config + "/"
}
}
object PrefixedRequest {
def apply(request: RequestHeader) = new PrefixedRequest(request)
}
तब मैं Global.scala में इसका इस्तेमाल किया
import play.api.GlobalSettings
import play.api.mvc.RequestHeader
import play.api.mvc.Handler
object Global extends GlobalSettings {
override def onRouteRequest(request: RequestHeader): Option[Handler] = {
super.onRouteRequest(PrefixedRequest(request))
}
}
finnally जोड़ा की तरह एक PrefixedRequest बनाने में मदद की यह application.conf
http.path=/prefix/
पर
ऐसा लगता है, लेकिन मुझे यह पता नहीं लगा कि उल्टा मार्गों में उस उपसर्ग को कैसे जोड़ना है ... क्या कोई उस हिस्से पर हाथ लगा सकता है?
-
कुछ उपयोगी लिंक
प्ले 2.1 में आप क्या कर सकते हैं कि conf/application.conf
में निम्नलिखित विकल्प के साथ:
application.context="/your/prefix"
प्ले से 2.4 इस संपत्ति को play.http.context
कहा जाता है (गमन द्वारा टिप्पणी से लिया गया)।
स्वीकार्य उत्तर से यह बहुत आसान है (जो काम नहीं कर सकता है प्ले 2.0 में) – Nathan
यह सही उत्तर है –
बस Google से आने वाले अन्य लोगों को जाने के लिए, प्ले 2.4 में इसे बदलकर 'play.http.context' में बदल दिया गया है (https://www.playframework.com/documentation/2.4 देखें। एक्स/Migration24) – Gman
जाहिर है, इन फीचर को संस्करण 2.1 से पहले शामिल नहीं किया जाएगा - https://github.com/playframework/Play20/commit/da6bbc4 – opensas
यह i18n (/ fr,/en ...) – iwalktheline
I के लिए अच्छा हो सकता है I लगता है कि आप विस्तार से बेहतर होंगे http://www.playframework.org/documentation/api/2.0/scala/play/api/mvc/WrappedRequest.html – Drew