PlayFramework 2.2.x:检测请求的已接受内容​​类型的正确方法

时间:2013-10-16 16:37:09

标签: playframework content-type

我需要检查请求是否接受特定的内容类型。我的第一个天真实施是:

if (request.acceptedTypes.contains(JSON)) …

系统地返回false

实际有效的是:

if (request.acceptedTypes.exists(_.mediaSubType == "json")) …

但我发现它有点难看(当然不准确)。

执行此检查的正确方法是什么。

1 个答案:

答案 0 :(得分:2)

你试过这个吗? http://www.playframework.com/documentation/2.2.x/ScalaContentNegotiation

val list = Action { implicit request =>
  val items = Item.findAll
  render {
    case Accepts.Html() => Ok(views.html.list(items))
    case Accepts.Json() => Ok(Json.toJson(items))
  }
}