首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用阿波罗客户端提取浏览器应用程序发送的Graphql查询

使用阿波罗客户端提取浏览器应用程序发送的Graphql查询
EN

Stack Overflow用户
提问于 2020-04-13 10:15:32
回答 1查看 252关注 0票数 1

我试图简化导出应用程序为文档目的发送的GraphQL查询的过程。为了记录在案,我希望能够将这些查询粘贴到Postman集合中。

以下是我的不同方法:

  • 依赖于.graphql文件:首先,使用成熟的TypeScript + Webpack + Babel设置(使用Next.js)仍然非常困难。无论如何,它不提供变量,所以您只有一半的查询。
  • 依赖于网络选项卡。从那里,我们可以复制查询内容并导入到邮递员中。结合Cypress,它可以提供一个令人敬畏的工作流。工作正常,但阿波罗客户端将以JSON对象的形式发送查询,很难解释
  • 我尝试使用"application/graphql“内容类型。它的可读性更强,并可在邮递员中使用。BUUUT是非标准的,因此在阿波罗客户端不可用.

因此,我的问题是相当开放的,但是有什么可能使提取由我的浏览器发送的graphql查询(和变量)并将它们注入邮递员?最有希望的解决方案是启用"application/graphql“客户端,或者将JSON表示转换回字符串表示形式。但我可以探索另一种可能性(如使用阿波罗引擎作为中间燃料)。

EN

回答 1

Stack Overflow用户

发布于 2020-11-21 22:43:15

这样做的一种方法是使用CLI工具。它包括一个client:extract命令,它将应用程序中的所有GraphQL操作/文档提取到一个文件中。您可以在JS(X)/TS(X)文件上运行该工具,并将GraphQL文档提取到如下所示的文件中(此输出是将工具指向包含单个查询的单个文件的结果):

代码语言:javascript
运行
复制
{
  "version": 2,
  "operations": [
    {
      "signature": "b4f318e6aebcc3631bc88eedef09c6001bb8c310917e97ee6df4a99e17c3c056",
      "document": "query BootstrapQuery{user:viewer{__typename delivery_time_1 delivery_time_2 devices{__typename fcm_token id notification{__typename enabled}}has_password id label location name next_delivery_string oauths{__typename email id name picture provider}plan plan_billing_service plan_expires plan_since plan_will_renew profile_picture recovery_email timezone username}}",
      "metadata": {
        "engineSignature": ""
      }
    }
  ]
}

然后,您可以任意使用该文件。

在我的例子中,我使用这个工具向Hasura发布了一个允许-操作列表。我不知道您将查询插入到Postman中是什么意思,但我认为这个工具可能会为您提供一个自动化的启动,这将是对手工复制/粘贴的改进。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61185689

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档