gpt4 book ai didi

graphql - 如何在一个请求中使用不同的参数多次运行一个突变?

转载 作者:行者123 更新时间:2023-12-03 12:15:56 24 4
gpt4 key购买 nike

我有一个突变:

const createSomethingMutation = gql`
mutation($data: SomethingCreateInput!) {
createSomething(data: $data) {
something {
id
name
}
}
}
`;

如何创建多个 Something在一个请求中?我是否需要像这样在我的 GraphQL 服务器上创建一个新的 Mutation:
mutation {
addManySomethings(data: [SomethingCreateInput]): [Something]
}

或者有没有办法使用现有的 createSomethingMutation在一个请求中多次使用不同的参数来自 Apollo Client?

最佳答案

你实际上可以使用别名来做到这一点,并为每个别名单独的变量:

const createSomethingMutation = gql`
mutation($dataA: SomethingCreateInput!) {
createA: createSomething(data: $dataA) {
something {
id
name
}
}
createB: createSomething(data: $dataB) {
something {
id
name
}
}
}
`;

你可以看到更多别名的例子 in the spec .

那么你只需要提供一个具有两个属性的变量对象—— dataAdataB .但是,如果您需要动态的突变数量,事情会变得非常困惑。通常,在这种情况下,仅公开一个突变来处理创建/更新模型的一个或多个实例可能更容易(也更有效)。

如果您想减少从客户端到服务器的网络请求数量,您还可以查看 query batching .

关于graphql - 如何在一个请求中使用不同的参数多次运行一个突变?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50889548/

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