错误请求,Scala上的无效Json错误play2

时间:2013-09-03 10:07:49

标签: scala playframework playframework-2.0

我正在使用Play 2.1.3,我有一个非常简单的应用程序如下:

包裹控制器

import play.api.mvc._
import play.api.libs.json._
import play.api.libs.functional.syntax._
object App extends Controller {
  def sectors = Action(parse.tolerantJson) { request=>
    Ok(Json.obj("Name"->"Scala"))
  }  
}

我的路线定义如下:

GET     /sectors                    controllers.App.sectors

当然,当我删除parse.tolerantJson应用程序工作时,在我的应用程序中我需要使用parse.tolerantJson方法。

我在浏览器中收到以下错误:

Bad request
For request 'GET /sectors' [Invalid Json]

1 个答案:

答案 0 :(得分:4)

tolerantJson是用于解析 请求的解析器。

当您使用parse.jsonparse.tolerantJson定义操作时,您说收到的请求必须包含json正文,并且必须使用JSON内容/类型发送。

在您的情况下,您只是响应中发送 Json(在请求中未接收Json)。并且play尝试将空体解析为Json,因此您就会出现该错误。

Json内容类型将自动添加到您的回复中(因为Play知道如何使用Writable[JsValue]呈现Json),所以您无需做任何事情。