scala play 2.1以文本/ json的形式提供JSON响应

时间:2014-03-11 21:04:58

标签: json scala playframework-2.0

我正在玩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") } }

1 个答案:

答案 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