¿Cómo puede mi aplicación Play 2 responder a los diferentes encabezados "Aceptar" del cliente?

En Rails, pude hacer algo similar a lo siguiente:

respond_to do |format|
  format.xml { ... }
  format.json { ... }
end

y el bloque apropiado se ejecutaría en función de lo que el cliente proporcionó en el encabezado Aceptar.

¿Cómo puedo hacer lo mismo en Play 2.0 (Scala)?

Me gustaría hacer algo que se vea más o menos así:

try {
  Resources.delete(id)
  Ok("done")
} 
catch { 
  case e: ClientReportableException =>
    ?? match { 
      case "application/xml" => Ok(<error>{e.message}</error>)
      case "application/json" => Ok(...)
  }
}

¿Hay un idioma de reproducción para esto, o simplemente obtengo el valor del encabezado Aceptar de la solicitud?

Respuestas a la pregunta(2)

Su respuesta a la pregunta