我需要所有请求的调用方法 - 我尝试了
object Global extends GlobalSettings {
override def onRouteRequest(request: RequestHeader): Option[Handler] = {
var test: String = request.session.get("test").getOrElse {
request.session + ("test" -> "123")
"000"
}
println(test)
super.onRouteRequest(request)
}
}
但我总是在控制台和页面上看到“000”没有域
的cookie更新:ResponseHeader添加的新cookie,但是如何在创建RH之前向RH添加新cookie? 存在像事件监听器这样的东西?喜欢postAction?
答案 0 :(得分:1)
要添加新Cookie,您必须将其添加到会话响应中,如documentation中所述。
例如:
Ok("Hello World!").withSession(
session + ("saidHello" -> "yes")
)
您尝试做的事情没有意义,因为您在收到浏览器的请求(包含浏览器所拥有的cookie)后尝试添加Cookie。这意味着如果你的代码工作,你总是在会话中拥有该值,所以不需要像你知道的那样检查会话。变得多余。