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Токен путь не найден " общая ошибка

Ответы на вопрос(1)

Ваш ответ на вопрос