Play Framework JSON Reader и пользовательские JSErrors
я пытаюсь прочитать JSON, который может иметь следующие параметры, поступающие от клиента
{
"email" : "[email protected]",
"password" : "XXXX",
"facebookToken": "XXXXXXXXXXX"
}
facebookToken может быть пустым или нет, в этом случаеПароль от электронной почты должно быть заполнено, и наоборот.
у меня возникли проблемы при создании этого Reader, здесьЧто я имею до сих пор:
val loginEmail = (
( __ \ "email").read[String] and
( __ \ "password").read[String]
)((email: String, password: String) => new User(email, password))
val loginFacebook = (
( __ \ "facebookToken").read[String]
)((facebookToken : String) => new User(facebookToken))
val loginReader(RequestBodyJson) = (
(RequestBodyJson).read[User](loginEmail) or
(RequestBodyJson).read[User](loginFacebook)
)
Может кто-нибудь показать мне, как это сделать правильно?
Я также хотел бы вернуть JSError с настроенными сообщениями. Например, если FacebookToken отсутствует, и с электронной почтой что-то не так ("Письмо было неверно ") вместо "/ facebookТокен путь не найден " общая ошибка