Scala, ZIO, Json - как десериализовать ответ circe json?
У меня странная проблема с десериализацией из внешнего сервиса. У меня есть некоторая библиотека, где я вызываю метод и передаю параметры. Этот метод всегда возвращает . Внутри этой библиотеки происходит какое-то волшебство, она соединяется с другим сервисом, получает ответ и возвращает его мне. Я создаю простой пример, в котором я вызываю этот метод:
for {
response <- library.someMethod(firstParam, secondParam).map(value => value.code).mapError(error => showError(error))
} yield response
Error
иValue
здесьzio.IO[Error, Value]
некоторые пользовательские объекты. Когда я запустил этоfor comprehension
код, я получил ошибку, связанную с сериализацией:
The Either on which value was invoked was not defined as a Right; it was Left(sttp.client3.DeserializationException: expected json value got 'Intern...' (line 1, column 1)).
org.scalatest.exceptions.TestFailedException: The Either on which value was invoked was not defined as a Right; it was Left(sttp.client3.DeserializationException: expected json value got 'Intern...' (line 1, column 1)).
at org.scalatest.EitherValues$Valuable.value(EitherValues.scala:211)
Я не уверен, нужны ли мне дополнительные декодеры или я должен что-то изменить в коде понимания, чтобы десериализовать это значение и ошибку? Можно ли десериализовать ответ и правильно принять значение?