我需要检查请求是否接受了特定的内容类型。我的第一个天真的实现是:
if (request.acceptedTypes.contains(JSON)) …
系统地返回false
。
实际有效的是:
if (request.acceptedTypes.exists(_.mediaSubType == "json")) …
但我发现它有点难看(当然也不精确)。
执行此检查的正确方法是什么。
我需要检查请求是否接受了特定的内容类型。我的第一个天真的实现是:
if (request.acceptedTypes.contains(JSON)) …
系统地返回false
。
实际有效的是:
if (request.acceptedTypes.exists(_.mediaSubType == "json")) …
但我发现它有点难看(当然也不精确)。
执行此检查的正确方法是什么。
你试过这个吗?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))
}
}