Wie kann meine Play 2-App auf verschiedene "Accept" -Kopfzeilen des Clients reagieren?

In Rails konnte ich etwas Ähnliches tun:

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

und der entsprechende Block würde basierend auf dem ausgeführt, was der Client im Accept-Header angegeben hat.

Wie kann ich dasselbe in Play 2.0 (Scala) tun?

Ich würde versuchen, etwas zu tun, das ungefähr so ​​aussieht:

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

Gibt es dafür eine Wiedergabesprache, oder rufe ich einfach den Wert des Accept-Headers aus der Anfrage ab?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage