JsValue
имеет два метода
def validate[A](implicit rds: Reads[A]): JsResult[A]
— пытается преобразовать узел в JsResult[T] (успех или ошибка).
def validateOpt[A](implicit rds: Reads[A]): JsResult[Option[A]]
- Я полагаю, он тоже делает то же самое.
В какой ситуации будет использоваться validateOpt
? На мой взгляд, если JsResult
не получится, то я получу ошибку в JsError
. Так какой смысл иметь дополнительный слой Option
в JsSuccess
, поскольку JsSuccess
всегда будет содержать значение после успешного преобразования JsValue
в тип A
?