framework - Valor constante en Scala Play JSON Reads
read json play framework (2)
Me gustaría utilizar un valor constante al construir un objeto a través de una lectura JSON.
Por ejemplo, la clase sería:
case class UserInfo(
userId: Long = -1,
firstName: Option[String] = None,
lastName: Option[String] = None
)
Y la lectura sería:
implicit val userRead: Reads[UserInfo] = (
(JsPath / "userId").read[Long] and
(JsPath / "firstName").readNullable[String] and
(JsPath / "lastName").readNullable[String]
)(UserInfo.apply _)
Pero no quiero tener que especificar el valor para userId en el objeto JSON. ¿Cómo voy a codificar las Lecturas para que el valor de -1 siempre se cree en el objeto UserInfo sin especificarlo en el objeto JSON que se está leyendo?
¡Gracias!
Tuve que hacer un pequeño cambio para forzarlo a Long:
implicit val userRead: Reads[UserInfo] = (
Reads.pure(-1:Long) and
(JsPath / "firstName").readNullable[String] and
(JsPath / "lastName").readNullable[String]
)(UserInfo.apply _)
Use Reads.pure
implicit val userRead: Reads[UserInfo] = (
Reads.pure(-1L) and
(JsPath / "firstName").readNullable[String] and
(JsPath / "lastName").readNullable[String]
)(UserInfo.apply _)