Ho un server API JSON REST costruito con v2.3 Gioca quadro con scala, e non ho l'azione di controllo in questo modo, per esempio:Come migliorare la leggibilità dei messaggi di errore restituita da JsError.toFlatJson o JsError.toJson in Play framework 2.x?
def register = Action.async(BodyParsers.parse.json) { implicit request =>
request.body.validate[Register].fold(
errors => Future.successful(BadRequest(JsError.toFlatJson(errors))),
register => {
// do something here if no error...
}
)
}
Per semplicità, ho gestire l'errore di convalida con JsError.toFlatJson
(nota: JsError.toFlatJson
è deprecato in Play più recente, la sostituzione è JsError.toJson
).
Il problema è il risultato JSON hanno messaggio criptico come:
{"obj.person.email":[{"msg":"error.email","args":[]}]}
Sopra JSON indica e-mail della persona non è valido.
C'è un modo per convertire il risultato dell'errore json in un messaggio più leggibile?
Non voglio che le app client facciano la mappatura/conversione dello obj.person.email
o error.email
. Preferisco che il server lo faccia prima di restituire il json alle app del client.