如何在使用Scala的Play框架中读取cookie的值?

如何在使用Scala的Play框架中读取cookie的值?,scala,cookies,playframework,Scala,Cookies,Playframework,如何在使用Scala的Play框架中读取控制器中cookie的值 在我的控制器中,我有: println(Http.Request.current().headers.get("cookie")) 输出是这样的: [csrftoken=011d7cfe84915ee9897c8c6079d49d5a; test=value] 我希望有一种更好的方法来访问“test”的值,而不是解析字符串……) 您可以使用HTTP请求上的cookie对象访问cookie,而不是从标头获取原始格式的cookie

如何在使用Scala的Play框架中读取控制器中cookie的值

在我的控制器中,我有:

println(Http.Request.current().headers.get("cookie"))
输出是这样的:

[csrftoken=011d7cfe84915ee9897c8c6079d49d5a; test=value]

我希望有一种更好的方法来访问“test”的值,而不是解析字符串……)

您可以使用HTTP请求上的
cookie
对象访问cookie,而不是从标头获取原始格式的cookie。查看API以了解更多信息

你应该能够做到:


Http.Request.current().cookies.get(“test”)
您可以使用 @request.cookies.get(“email”).value

如果要检查其非空,
@如果(request.cookies.get(“email”)!=null){}

我将Play2.6.19与Scala一起使用,我获取如下信息

val leadToken = request.cookies.get("lead_token") match {
 case Some(cookie) => cookie.value
 case None => ""
} 

这与
request.cookies.get(“test”)
是不同还是相同?几乎相同。除此之外,如果您没有访问请求对象的权限,则可以使用
Http.request.current()
获取它。OP没有指定他有权访问请求对象,因此继续使用他使用的相同语法更安全。在Play+Scala中,默认情况下,我认为我的作用域中没有请求对象@Codemwnci的回答非常有效;谢谢大家!@派罗尼:是的,你有,我在我发表的评论中使用了代码。我使用Scala+Play。