3

キャストが可能な場合、読み取りは自動キャストを行うようです。例: Float -> Int。たとえば、コードが次のように json を取得する場合、

{
"name": "Jack",
"age": 22.4,
"role": "Coder"
}

クラス Person のインスタンスは、無効な引数の例外を取得する代わりに、22 のフィールド age を持ちます。その場合に例外が必要な場合、最善の解決策は何ですか? ありがとう。

case class Person(val name: String, val age: Int, val role: String)

object Person {
implicit val residentReads: Reads[Resident] = (
  (JsPath \ "name").read[String](minLength[String](3)) and
  (JsPath \ "age").read[Int](min(0)) and
  (JsPath \ "role").readNullable[String]
)(Resident.apply _)

...
}
4

1 に答える 1