Jak moja aplikacja Play 2 może reagować na różne nagłówki „Akceptuj” klienta?

W Railsach udało mi się zrobić coś podobnego do następującego:

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

a odpowiedni blok zostanie wykonany w oparciu o to, co klient dostarczył w nagłówku Accept.

Jak mogę zrobić to samo w Play 2.0 (Scala)?

Chciałbym zrobić coś, co wygląda mniej więcej tak:

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

Czy istnieje w tym celu idiom Play, czy po prostu pobieram wartość nagłówka Accept z żądania?

questionAnswers(2)

yourAnswerToTheQuestion