In Play 2.1 usiamo qualcosa come sotto per ottenere un oggetto Crea da un JSON attraverso letture.Gioca JSON Combinators
implicit val creatureReads = (
(__ \ "name").read[String] and
(__ \ "isDead").read[Boolean] and
(__ \ "weight").read[Float]
)(Creature.apply _)
Essendo relativamente nuovo a Scala, sto cercando di capire se c'è qualche altro modo per costruire l'oggetto Creatura senza utilizzare il metodo apply? Sarebbe possibile avere una funzione anonima per creare l'oggetto invece di fare affidamento sulla domanda?
Ho casi di utilizzo in cui la maggior parte dei campi nei miei oggetti potrebbe mancare, ma mi piacerebbe ancora costruire l'oggetto da quello che ho. È meglio definire una sola READ per l'oggetto e usare readnullable per ciascuno dei campi?
Inoltre, potrei avere condizionali complessi, quindi sarebbe più semplice definire le funzioni personalizzate per costruirlo invece di provare a catturare tutti i casi in un Reader?
Grazie, che riesce per me. Ma un'altra domanda su JSErrors, quale sarebbe un modo pulito per specificare un errore personalizzato invece di "path \ foo" non è stato trovato? C'è un posto dove posso leggere? –
Non per le letture predefinite, ma dipende dal caso d'uso. Puoi pubblicare una domanda separata con quella? –
Certo, puoi dare un'occhiata a http://stackoverflow.com/questions/17818924/play-framework-json-reader-and-custom-jserrors –