2011-06-06 4 views
12

¿Cómo puedo leer el valor de una cookie en mi controlador en Play-Framework con Scala?¿Cómo leo el valor de una cookie en Play-Framework con Scala?

En mi controlador tengo esto:

println(Http.Request.current().headers.get("cookie")) 

y la salida es la siguiente:

[csrftoken=011d7cfe84915ee9897c8c6079d49d5a; test=value] 

Y estoy esperando que hay una mejor manera de acceder al valor de "prueba" otro que analizar la cadena ...;)

Respuesta

15

Puede acceder a la cookie utilizando el objeto cookie en la solicitud HTTP, en lugar de obtenerlo en formato sin formato desde el encabezado. Mira la API here para más información.

Usted debe ser capaz de simplemente hacer:

Http.Request.current().cookies.get("test")

+2

Es esto diferente a 'request.cookies.get ("prueba") 'o es lo mismo? – Jonas

+3

es casi lo mismo. Excepto que, si no tiene acceso al objeto de solicitud, puede obtenerlo usando 'Http.Request.current()'. El OP no especificó que tenía acceso al objeto de solicitud, por lo que era más seguro continuar con la misma sintaxis que él utilizó. – Codemwnci

+3

En Play + Scala no creo que tenga un objeto de solicitud en el ámbito de forma predeterminada. La respuesta de @Codemwnci funcionó de maravilla; ¡Gracias! –

1

que pueda obtener el valor de la cookie en la plantilla usando Scala @ request.cookies.get ("e-mail") de valor..

Si desea comprobar que no es nula, @if (request.cookies.get ("e-mail")! = Null) {}

Cuestiones relacionadas