Sangria-graphql: ошибка при передаче производногоInputObjectType в качестве аргумента мутации даже после добавления FromInput - PullRequest
0 голосов
/ 29 мая 2020

Я знаю, что это дубликат Sangria-graphql: ошибка при передаче производногоInputObjectType в качестве аргумента мутации . Но поскольку это довольно старый вопрос, подумал о том, чтобы задать новый, поскольку я все еще сталкиваюсь с проблемами даже после добавления класса типа FromInput.

import sangria.schema._
import sangria.macros.derive._
import sangria.marshalling._
import spray.json.DefaultJsonProtocol._
import ai.x.play.json.Jsonx
import play.api.libs.json.{Json, OFormat}

object SchemaDef {

  implicit val posnFormat: OFormat[Position] = Json.format[Position]

  implicit val InPositionType: InputObjectType[Position] =
    deriveInputObjectType[Position]()

  val posnInputArg = Argument("posnType", InPositionType)
Error:(19, 30) Type sangria.util.tag.@@[com.akka.graphql.api.domain.entity.hbase.Position,sangria.marshalling.FromInput.InputObjectResult] cannot be used as an input. Please consider defining an implicit instance of `FromInput` for it.
  val posnInputArg = Argument("posnType", InPositionType)
Error:(19, 30) not enough arguments for method apply: (implicit fromInput: sangria.marshalling.FromInput[sangria.util.tag.@@[com.akka.graphql.api.domain.entity.hbase.Position,sangria.marshalling.FromInput.InputObjectResult]], implicit res: sangria.schema.WithoutInputTypeTags[sangria.util.tag.@@[com.akka.graphql.api.domain.entity.hbase.Position,sangria.marshalling.FromInput.InputObjectResult]])sangria.schema.Argument[res.Res] in object Argument.
Unspecified value parameters fromInput, res.
  val posnInputArg = Argument("posnType", InPositionType)
Error:(14, 59) No unapply or unapplySeq function found for class Position: <none> / <none>
  implicit val posnFormat: OFormat[Position] = Json.format[Position]
Error:(17, 36) Type Option[String] cannot be used as a default value. Please consider defining an implicit instance of `ToInput` for it.
    deriveInputObjectType[Position]()
Error:(17, 36) not enough arguments for method createFromMacroWithDefault: (implicit toInput: sangria.marshalling.ToInput[Option[String], _], implicit res: sangria.schema.WithoutInputTypeTags[Option[sangria.util.tag.@@[String,sangria.marshalling.FromInput.CoercedScalaResult]]])sangria.schema.InputField[res.Res].
Unspecified value parameters toInput, res.
    deriveInputObjectType[Position]()
...