7
A
回答
5
我問在play's discussion group和他們幫助我實現這個最初版本
我創建了一個PrefixedRequest這樣
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添加this to application.conf
http.path=/prefix/
它似乎工作,但我沒有找到如何將這個前綴添加到相反的路線......任何人都可以在這部分手?
-
一些有用的鏈接
25
在玩2.1,你可以做到這一點與在conf/application.conf
以下選項:
application.context="/your/prefix"
從遊戲2.4這個屬性叫做play.http.context
(取自Gman的評論)。
相關問題
- 1. 如何爲我的所有路線添加前綴
- 2. 如何在Play Framework 2.5.x中添加路線?
- 3. 爲所有路線,鏈接和網址添加前綴
- 4. 如何在Symfony2的所有控制器中添加一些路由前綴?
- 5. 如何在mysql中添加所有表的前綴
- 6. Rails:匹配前綴所有其他路線的路線
- 7. 如何將Jars添加到Play Framework中的類路徑中?
- 8. 如何「國際化」Play Framework 2.1路線?
- 9. 在Play Framework中使用javascript路由2
- 10. 向所有css類添加前綴
- 11. 如何向Servant中的所有端點添加前綴?
- 12. 添加前綴EditorFor所有元素
- 13. Asp.net MVC3地圖路線:在{id}之前添加前綴
- 14. Rails 5 - 如何爲腳手架路線添加前綴?
- 15. 如何動態添加前綴到AngularJS路線
- 16. Zend Framework添加路線
- 17. NSMutableDictinary - 爲所有鍵添加前綴
- 18. 在Hive中添加帶有前綴的所有列名稱
- 19. 如何在WebView URL中添加前綴?
- 20. 如何在前綴(關鍵幀)中添加前綴(轉換)?
- 21. Play Framework:如何在資產文件中使用反向路線?
- 22. 如何爲目錄下的所有文件名添加前綴?
- 23. 前綴所有軌道與目錄的路線
- 24. Swift Framework前綴?
- 25. 在php中添加前綴
- 26. Play Framework 2 HornetQ
- 27. Play Framework 2 slugify
- 28. 在Play Framework 2.x過濾器中添加一個cookie?
- 29. ant zip:如何爲所有文件/目錄添加前綴
- 30. 如何讓gcc爲所有符號名稱添加前綴
顯然,這些功能將不會包含在版本2.1之前 - https://github.com/playframework/Play20/commit/da6bbc4 – opensas 2012-08-13 01:32:45
它可能對i18n很好(/ fr,/ en ...) – iwalktheline 2012-08-13 10:14:09
我認爲你最好擴大http://www.playframework.org/documentation/api/2.0/scala/play/api/mvc/WrappedRequest.html – Drew 2012-10-16 13:05:10