nav*_*vid 2 scala playframework playframework-2.6
我在播放2.5中提取了ROUTE_PATTERN,其中包括:
request.tags.get("ROUTE_PATTERN")
Run Code Online (Sandbox Code Playgroud)
现在,我更新了play 2.6,此代码不再起作用。我在这里阅读播放文档: Play 2.6的新增功能
我试过了:
object Attrs {
val RoutePattern: TypedKey[String] = TypedKey("ROUTE_PATTERN")
}
request.attrs.get(Attrs.RoutePattern)
Run Code Online (Sandbox Code Playgroud)
它总是返回None。如何在play 2.6中获取请求的RoutePattern?
从2.6迁移指南中:
如果您使用了任何
Router.Tags.*标签,则应更改代码以使用新的Router.Attrs.HandlerDef(Scala)。这个新属性包含一个
HandlerDef对象,其中包含标签中当前包含的所有信息。当前标签全部对应于HandlerDef对象中的一个字段。
HandlerDef与旧ROUTE_PATTERN标签相对应的字段为path:
import play.api.routing.{ HandlerDef, Router }
import play.api.mvc.RequestHeader
val handler = request.attrs(Router.Attrs.HandlerDef)
val routePattern = handler.path
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
447 次 |
| 最近记录: |