Как мое приложение Play 2 может реагировать на различные заголовки «Принять» от клиента?

В Rails я смог сделать что-то похожее на следующее:

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

и соответствующий блок будет выполнен на основе того, что клиент предоставил в заголовке Accept.

Как я могу сделать то же самое в Play 2.0 (Scala)?

Я хотел бы сделать что-то похожее на это:

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

Есть ли для этого идиома Play или я просто получаю значение заголовка Accept из запроса?

Ответы на вопрос(2)

Ваш ответ на вопрос