0
當我使用JSON工作,如果JSON無效,我在格式發送錯誤:統一的錯誤消息
error: { error: { obj.email: [{args: "", msg: "error.email"}] } //1
但使用JSON驗證器,我有一個非標準的方法,這驗證數據(例如,如果電子郵件存在於數據庫中)。 如何統一所有發送json形式錯誤的方法(1)?
與動作例如控制器:
implicit val loginReads: Reads[Login] = (
(__ \ "email").read[String](email) and
(__ \ "password").read[String]
)(Login.apply _)
def login() = Action { request =>
request.body.asJson match {
case Some(login) => login.validate[Login] fold (
err => BadRequest(Json.toJson(Map("error" -> JsError.toFlatJson(err)))),
result => if (!isPresentInDb(result.email)) {
//how to handle error and send it as json error form: "error" -> JsError.toFlatJson(err)
} else {
//success
}
)
case None => //bad request
}
}
//login class
case class Login(email: String, password: String)