'Spring Boot GraphQL: Expected type to be a GraphQLInputType, but it wasn't

I am trying to set up a GraphQL endpoint in Spring Boot, and when I try to run my App, I get the following error:

Expected type 'Order' to be a GraphQLInputType, but it wasn't! Was a type only permitted for object types incorrectly used as an input type, or vice-versa?

Here is my models.graphqls:

type Order {
    id: String!
    storeOrderId: String
    connectionId: String
}

type Mutation {
    createOrder(order: Order): Order
}



Solution 1:[1]

This is happening because you're trying to use a type for an input, which isn't allowed.

type Order {

Should be...

input Order {

So that the whole thing looks like:

I am trying to set up a GraphQL endpoint in Spring Boot, and when I try to run my App, I get the following error:

Expected type 'Order' to be a GraphQLInputType, but it wasn't! Was a type only permitted for object types incorrectly used as an input type, or vice-versa?

Here is my models.graphqls:

input Order {
    id: String!
    storeOrderId: String
    connectionId: String
}

type Mutation {
    createOrder(order: Order): Order
}

Solution 2:[2]

if it still does't work after use a input type, There may be other problems here.

  • the input java types should have public getters,
  • the input java types should also implement Serializable interface

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Joey
Solution 2 Ldbmcs