read play framework json scala playframework playframework-json

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 _)