JavaResponse - opensas/Play20Es GitHub Wiki

Manipulating the response

Esta página todavía no ha sido revisada su traducción al castellano. Puedes ayudarnos con la tarea simplemente presionando el botón Edit Page. Para más información puedes leer esta guía para el traductor. Aquí puedes ver cuánto nos falta para terminar la traducción.

Cambiar el tipo de contenido predeterminado

El resultado del tipo de contenido(Content-Type) es automáticamente deducido según el valor Java especificado como el cuerpo.

Por ejemplo:

Result textResult = ok("Hello World!");

Establecerá automáticamente la cabecera del Content-Type a text/plain, mientras:

Result jsonResult = ok(jerksonObject);

Establecerá la cabecera del Content-Type en application/json.

Esto es muy útil, pero a veces se desea cambiar. Sólo tienes que utilizar el metodo as(newContentType) en un resultado para crear uno nuevo similar con otro encabezado Content-Type:

Result htmlResult = ok("<h1>Hello World!</h1>").as("text/html");

También puede configurar el tipo de contenido en la respuesta HTTP:

public static Result index() {
  response().setContentType("text/html");
  return ok("<h1>Hello World!</h1>");
}

Configuración de cabeceras en respuestas HTTP

Puede agregar(o actualizar) cualquier encabezado de respuesta HTTP:

public static Result index() {
  response().setContentType("text/html");
  response().setHeader(CACHE_CONTROL, "max-age=3600");
  response().setHeader(ETAG, "xxx");
  return ok("<h1>Hello World!</h1>");
}

Tenga en cuenta que establecer una cabecera HTTP descartará automáticamente cualquier valor anterior.

Configurar y descartar cookies

Las Cookies son una forma especial de cabeceras HTTP, pero Play ofrece un conjunto de ayudas para que sea mas fácil.

Fácilmente puede agregar un cookie en la respuesta HTTP:

response().setCookie("theme", "blue");

Además, para descartar una cookie previamente almacenada en el explorador Web:

response().discardCookies("theme");

Especificar la codificación de caracteres para los resultados de texto

Para una respuesta de texto en HTTP, es muy importante utilizar correctamente la codificación de caracteres. Play maneja eso por ti y usa por defecto utf-8.

La codificación se utiliza tanto para convertir la respuesta del texto a sus correspondientes bytes para enviarlos a través de la toma de red y agregar la extensión apropiada de ;charset=xxx a la cabecera Content-Type.

La codificación se puede especificar cuando se está generando el valor Result:

public static Result index() {
  response().setContentType("text/html; charset=iso-8859-1");
  return ok("<h1>Hello World!</h1>", "iso-8859-1");
}

Next: Session and Flash scopes

⚠️ **GitHub.com Fallback** ⚠️