首页 > 解决方案 > 在 GraphQL 和 Spring Boot 中使用嵌套输入类型的异常

问题描述

我正在尝试创建一个接收如下输入类型的突变:

input Cart {
    items: [CartItem!]!
    client: String!
}

input CartItem {
    productId: Int!
    qty: Int!
}

我的突变是这样的:

type Mutation {
    createOrder(cart: Cart!): Order!
}

但是当我尝试运行我的应用程序时,出现以下异常:

Caused by: com.coxautodev.graphql.tools.SchemaError: Expected type 'CartItem' to be a GraphQLOutputType, but it wasn't!  Was a type only permitted for object types incorrectly used as an input type, or vice-versa?

这是怎么回事?

标签: spring-bootgraphqlgraphql-java

解决方案


这是 Graphql-java-tools 的一个已知错误:https ://github.com/graphql-java-kickstart/graphql-java-tools/issues/216

输入的 java 类型应该有公共的 getter。


推荐阅读