デフォルトのパラメータに問題があり、Play Json Readを使用しています。ここ は私のコードです:私は最後に取得することを期待していた何caseクラスのjson ReadとDefaultパラメータを再生しますか?
case class Test(action: String, storeResult: Option[Boolean] = Some(true), returndata: Option[Boolean] = Some(true))
val json =
"""
{"action": "Test"}"""
implicit val testReads: Reads[Test] =
(
(JsPath \\ "action").read[String](minLength[String](1)) and
(JsPath \\ "store_result").readNullable[Boolean] and
(JsPath \\ "returndata").readNullable[Boolean]
) (Test.apply _)
val js = Json.parse(json)
js.validate[Test] match {
case JsSuccess(a, _) => println(a)
case JsError(errors) =>
println("Here")
println(errors)
}
は
Test("Test", Some(true), Some(true))
ですが、私は得た:
Test("Test",None,None)
これがそうであるのはなぜ?私がjsonでパラメータを指定しなかった場合、なぜデフォルト値が得られなかったのですか?どのように私が欲しいものを達成するために?
これを'Play-Json 2.6.x'の最も適切な答えです –