Десериализация класса Case в Scala не работает Сангрия GraphQl - PullRequest
0 голосов
/ 29 октября 2018
case class Location(value: String)

Это класс case в Scala, который я хочу, который присутствует в объектах Request и Response. Для объекта Request (также класса case) у меня есть:

implicit val loc = new FromInput[Location] {
    val marshaller = CoercedScalaResultMarshaller.default
    def fromResult(node: marshaller.Node) = {
      val ad = node.asInstanceOf[Map[String, Any]]
      Location(
        value = ad("value").asInstanceOf[String]
      )
    }
  }

И сам объект запроса десериализуется, как:

implicit val manual = new FromInput[Request] {
    val marshaller = CoercedScalaResultMarshaller.default
    def fromResult(node: marshaller.Node) = {
      val ad = node.asInstanceOf[Map[String, Any]]
      Request(
        location = ad("location").asInstanceOf[Location],
        startTimeEpochMs = ad("startTimeEpochMs").asInstanceOf[Long],
        endTimeEpochMs = ad("endTimeEpochMs").asInstanceOf[Long]
      )
    }
  }

  implicit val LocationType = deriveObjectType[Unit, Location]()
  implicit val InputLocationType = deriveInputObjectType[Location]()
  implicit val RequestType = deriveInputObjectType[Request]()

Код компилируется, однако у меня есть исключение времени выполнения, которое говорит: Не удалось инициализировать класс Schema.scala и выдает исключение NoClassDefinitionFound.

Я новичок в сангрии и graphQL. Если бы вы могли сообщить мне мою ошибку здесь, и как я мог бы ее исправить. Было бы здорово помочь !! Ваш вклад высоко ценится.

...