簡體   English   中英

GraphQL 突變的輸入類型聲明

[英]GraphQL Input type declaration for Mutation

我是 GraphQL 的新手,經過一些編碼后,我遇到了為 Mutation 聲明輸入類型的問題。 這是我的架構:

type Test {
  id: ID!
  label: String!
}

extend type Query {
  test(id : ID!): Test
  listTests (where: myWhereCondition, orderBy: myOrderByCondition): [Test!]!
}

extend type Mutation {
  createTest(label: String!, testTypes: TestTypesInput): Test!
}

input TestTypesInput {
  testTypes: [IdInput]
}

input IdInput {
  id: ID!
}

當我運行我的應用程序時,出現錯誤

Caused by: graphql.kickstart.tools.SchemaError: Expected type 'IdInput' to be a GraphQLInputType, but it wasn't, Was a type only permitted for object 類型錯誤地用作輸入類型? 或相反亦然。 在 graphql.kickstart.tools.SchemaParser.determineType(SchemaParser:kt.400) ~[graphql-java-tools-11.0.1:jar.na] 在 graphql.kickstart.tools.SchemaParser.determinePaper4rs(SchemaParser.determinePaper4rs) ~[graphql-java-tools-11.0.1:jar.na] 在 graphql.kickstart.tools.SchemaParser.determineInputType(SchemaParser:kt.410)~[graphql-java-tools-11.0.1:jar.na] 在graphql.kickstart.tools.SchemaParser.createInputObject(SchemaParser:kt.179)~[graphql-java-tools-11.0.1:jar.na] 在 graphql.kickstart.tools.SchemaParser.parseSchemaObjects)~[graphql-java-tools-11.0.1:jar.na] [graphql-java-tools-11.0.1:jar.na] 在 graphql.kickstart.tools.SchemaParser.makeExecutableSchema(SchemaParser:kt.112) ~[graphql-java-tools-11.0.1:jar8184] 在 486067 .kickstart.tools.boot.GraphQLJavaToolsAutoConfiguration.graphQLSchema(GraphQLJavaToolsAutoConfiguration:java.143)~[graphql-kickstart-spring-boot-autoconfigure-tools-11.1.0:j ar:na]

我不明白我錯過了什么,對我來說,“IdInput”被很好地聲明為input並閱讀了一些其他示例,它對我來說看起來是正確的,但顯然不是。 我試圖將 che IdInput 聲明為inputtype ,但它顯然不起作用。 如何將輸入對象列表傳遞到輸入數組中? 如果您需要更多信息,我會添加它們,目前我只是混合一些聲明以提出正確的聲明,但沒有成功。 預先感謝您的幫助!

發現這是一個誤導性錯誤,因為 GraphQL 模式無法使用 Mutation Resolver 的簽名方法獲取。 它沒有指出那部分,而是在 GraphQL 架構聲明中不斷中斷。 一旦根據 Schema 聲明了簽名方法,一切都會順利進行。 希望它可以幫助某人處理這種誤導性的錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM