0

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

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

系统地返回false

实际有效的是:

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

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

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

4

1 回答 1

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))
  }
}
于 2013-10-16T16:43:24.487 回答