gpt4 book ai didi

spring-boot - 带有突变 Spring Boot 的 Graphql

转载 作者:行者123 更新时间:2023-12-04 07:49:34 37 4
gpt4 key购买 nike

我的架构文件是

type Mutation {
createCustomer(name: String!, email: String!, product: [Product]): Customer
}

input Product {
id: ID!
name: String!
price: Int
}

interface Person {
id: ID!
name: String!
email: String!
}

type Customer implements Person {
id: ID!
name: String!
email: String!
product: [Product]
}

我想在此处插入以产品列表作为输入的客户详细信息。我的查询是
mutation {
createCustomer(
name: "kitte",
email: "kitte@gmail.com",
product: [
{
name: "soap",
price: 435,
}
]
)
{
id
name
email
product{name}

}
}

但我得到了异常(exception)
{
"data": null,
"errors": [
{
"validationErrorType": "WrongType",
"message": "Validation error of type WrongType: argument value ArrayValue{values=[ObjectValue{objectFields=[ObjectField{name='name', value=StringValue{value='dars76788hi'}}, ObjectField{name='price', value=IntValue{value=123}}]}, ObjectValue{objectFields=[ObjectField{name='name', value=StringValue{value='darr'}}, ObjectField{name='price', value=IntValue{value=145}}]}]} has wrong type",
"locations": [
{
"line": 5,
"column": 5
}
],
"errorType": "ValidationError"
}
]
}

我不明白什么是错误。以及如何将列表传递给突变。我引用了一些示例,但无法将产品作为列表插入。

最佳答案

确保您将正确类型的对象传递给您的突变。 GraphQL 需要单独的输入字段类型。在您的架构中,产品类​​型应该是这样的,您应该相应地更改突变。

type Product {
id: ID!
name: String!
price: Int
}

input ProductInput {
name: String!
price: Int
}

input CustomerInput {
...
products: [ProductInput]
}

文档中有几个非常有用的示例,请参阅 Mutations and Input Types

关于spring-boot - 带有突变 Spring Boot 的 Graphql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47266238/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com