我有以下json登录验证器:
val loginValidator: Reads[JsObject] = (
((__ \ 'username).json.pickBranch(Reads.of[JsString]) or
(__ \ 'email).json.pickBranch(Reads.of[JsString] keepAnd email)) and
(__ \ 'pw).json.pickBranch(Reads.of[JsString])
).reduce
如何使用函数对密码进行哈希处理:String =>字符串(假设它是一个方法Password.hash(plain:String)?
答案 0 :(得分:0)
好的,这似乎有效:
val loginValidator: Reads[JsObject] = (
((__ \ 'username).json.pickBranch(Reads.of[JsString]) or
(__ \ 'email).json.pickBranch(Reads.of[JsString] keepAnd email)) and
(__ \ 'pw).json.pickBranch(Reads.of[JsString]).map(a => Json.obj("pw" -> User.Password.hash((a \ "pw").as[String])))
).reduce
但似乎还有比这更好的方法。有人知道吗?