我正在玩Play! 2.2用scala。我正在尝试提供JSON响应。以下代码将以[{1}}的形式提供响应,但我希望它能够提供application/json
。
我在这里找到了一些文档:http://www.playframework.com/documentation/2.1.x/ScalaJsonRequests
但是,显示的示例返回text/json
。
以下是我在控制器中的功能示例:
application/json
以下是来自cURL的示例输出:
def myContollerFunction = Action(parse.json) { request =>
(request.body \ "foo").asOpt[String].map { foo =>
Ok(Json.toJson(Map("foo" -> foo)))
}}.getOrElse {
BadRequest("foo bar")
}
}
答案 0 :(得分:2)
您可以在结果中添加.as("text/json")
。 (见play documentation)
完整示例:
def myContollerFunction = Action(parse.json) { request =>
(request.body \ "foo").asOpt[String].map { foo =>
Ok(Json.toJson(Map("foo" -> foo))).as("text/json")
}}.getOrElse {
BadRequest("foo bar")
}
}
话虽如此,似乎application/json
是JSON数据的正确类型,请参阅here。