gpt4 book ai didi

node.js - 如何在单个查询中组合突变和查询?

转载 作者:行者123 更新时间:2023-12-04 19:29:14 25 4
gpt4 key购买 nike

我有手术 getFoo这要求用户经过身份验证才能访问资源。

用户使用突变进行身份验证 authenticate ,例如

mutation {
authenticate (email: "foo", password: "bar") {
id
}
}

当用户通过身份验证时,会发生两件事:
  • 请求上下文中包含身份验证详细信息
  • 创建了一个 cookie

  • 但是,我想结合身份验证和 getFoo方法调用到单个请求中,例如
    mutation {
    authenticate (email: "foo", password: "bar") {
    id
    }
    }
    query {
    getFoo {
    id
    }
    }

    后者产生语法错误。

    有没有办法将突变与查询结合起来?

    最佳答案

    根据 GraphQL 规范,无法在一个请求中发送变更和查询。

    但是,您可以向变异有效负载添加任何字段。因此,如果只有少数查询需要支持 authenticate突变,你可以这样做,例如:

    mutation {
    authenticate (email: "foo", password: "bar") {
    id
    getFoo {
    id
    }
    }
    }

    归根结底,最好将变异和查询分开。如果您想在像这样的许多突变中包含许多查询,它会很快变得毛茸茸的。我在这里没有看到额外请求的开销有问题。

    关于node.js - 如何在单个查询中组合突变和查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46718683/

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