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