Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用阿波罗客户端提取浏览器应用程序发送的Graphql查询

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

Stack Overflow用户
提问于 2020-04-13 02: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 14:43:15

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
  "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

复制
相关文章
Linux中创建自己的MOTD[通俗易懂]
  motd:是英文缩写message of the day 。译文是:每日提示信息,问候报文。那你为什么要用MOTD?其实目的很简单,是提示进入系统的用户注意事项,或提示系统运行的概要信息让用户更好的了解系统。在Linux系统要实现自己的MOTD,首先需要认识/etc/motd文件。
全栈程序员站长
2022/09/20
5K0
Linux中创建自己的MOTD[通俗易懂]
如何在50行以下的Python代码中创建Web爬虫
有兴趣了解Google,Bing或Yahoo的工作方式吗?想知道抓取网络需要什么,以及简单的网络抓取工具是什么样的?在不到50行的Python(版本3)代码中,这是一个简单的Web爬虫!(带有注释的完整源代码位于本文的底部)。
iOSDevLog
2018/08/10
3.2K0
如何在50行以下的Python代码中创建Web爬虫
代码管理| 创建自己的私有Cocopods库
iOS组件化的实现基本基于cocoapods,如何使用cocoapods创建自己的组件库,是实现组件化的第一要素,下面就创建自己的私有Cocopods库展开实战记录。
進无尽
2018/09/12
1.8K0
代码管理| 创建自己的私有Cocopods库
[基础]Javascript中的继承示例代码
面向对象的语言必须具备四个基本特征: 1.封装能力(即允许将基本数据类型的变量或函数放到一个类里,形成类的成员或方法) 2.聚合能力(即允许类里面再包含类,这样可以应付足够复杂的设计) 3.支持继承(父类可以派生出子类,子类拥有父母的属性或方法) 4.支持多态(允许同样的方法名,根据方法签名[即函数的参数]不同,有各自独立的处理方法) 这四个基本属性,javascript都可以支持,所以javascript确实是一种弱类型的面向对象的语言,这里给出一个简单的类继承的代码 <script type=
菩提树下的杨过
2018/01/22
7850
创建自己的Code Snippets在VSCode中
1. Go to Code → Preferences → User Snippets
前端知否
2020/03/23
2.7K0
创建自己的Code Snippets在VSCode中
如何在js中创建对象
七夕临近了,没有对象的来创建一个吧 使用对象字面量: const o = { name: "zehan", greeting() { return `Hi, 我是${this.name}`; } }; o.greeting(); // "Hi, zehan" 使用构造函数: function Person(name) { this.name = name; } Person.prototype.greeting = function () { return `Hi, 我是
ZEHAN
2020/09/23
7.6K0
如何在Mac中创建MiniKube
Minikube是一个工具,可以在本地轻松运行Kubernetes。 Minikube在笔记本电脑的VM中运行单节点Kubernetes集群,供希望尝试Kubernetes或日常开发的用户使用。
方志朋
2022/05/08
2.4K0
如何在Mac中创建MiniKube
如何在Dynamo中创建UI
本文介绍了如何在Dynamo中创建UI,通过使用WPF技术实现了窗口的创建和交互。首先介绍了IronPython和Dynamo的基础知识,然后讲解了实现原理和准备工作。最后通过具体的操作步骤和代码示例讲解了如何在Dynamo中创建UI。
企鹅号小编
2018/01/05
2.1K0
如何在Dynamo中创建UI
使用 Numpy 创建自己的深度学习框架(附代码)
来源:DeepHub IMBA本文约2600字,建议阅读6分钟本文通过手动实现来介绍建基本深度学习框架所需组件和步骤。 本文并不是为了造轮子,只是通过手动实现来介绍建基本深度学习框架所需组件和步骤。 Numpy 已经提供了基本上所有需要的计算操作,我们需要的是一个支持自动微分(autograd)的框架来计算多个操作的梯度,这是模块化方法构建神经网络层的标准化方法,通过自动微分的框架,我们可以将优化器、激活函数等组合在一起用于训练神经网络。 所以一个基本的深度学习框架的组件总结如下: 一个autograd系
数据派THU
2022/06/14
3380
使用 Numpy 创建自己的深度学习框架(附代码)
代码管理 | 创建并管理自己的公有Cocopods库
一是直接将这部分代码copy到绘本阅读这个项目中; 二是将语音评测这部分逻辑给抽取出来,然后在分别在两处使用。
進无尽
2018/09/12
9290
代码管理 | 创建并管理自己的公有Cocopods库
如何在 WordPress 中创建联系表格?
假设我们有一个 WordPress 网站,并且我们想要添加一个功能,让他们可以联系他们所拥有的查询。我们可以通过使用网站上的 WordPress 插件添加联系表格来做到这一点。因此,这将为你的访问者提供一种与你联系的方式,当他们需要帮助或有什么要分享的时候。
海拥
2022/12/19
2.9K0
如何在 WordPress 中创建联系表格?
如何在 WordPress 中创建登录页面
登陆页面: 登陆页面是为特定受众制定的具有特定目标的目标页面,可以描述为“一页一目的”。登陆页面必须有一个“号召性用语”,并牢记特定目标。成功的着陆页是具有更高转化率、更高参与度和更高质量潜在客户的页面。
海拥
2022/10/04
2.9K0
如何在 WordPress 中创建登录页面
AtomicInteger 底层实现原理是什么? 如何在自己代码中应用 CAS 操作
AtomicInteger 是对 int 类型的一个封装,提供原子性的访问和更新操作,其原子性的操作实现是基于 CAS (compare-and-swap)技术。
王小明_HIT
2020/05/13
3.2K0
创建自己的技能
C:\server\src\map\status_effect.h 添加下文信息 805 时游戏官方默认的,我们添加1001 – 1005 并修改 MAX_EFFECTID 为我们定义最大 +1
收心
2022/08/24
6040
如何在Oozie中创建有依赖的WorkFlow
温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。 Fayson的github: https://github.com/fayson/cdhproject 提示:代码块部分可以左右滑动查看噢 1.文档编写目的 ---- 在使用Hue创建WorkFlow时,单个WorkFlow中可以添加多个模块的依赖,使各个模块之间在WorkFlow内产生依赖关系,如果对于一个WorkFlow被其它多个WorkFlow依赖(如:AWorkFlow执行成功后,BWorkFlow和CWorkFlow依赖AWorkFl
Fayson
2018/07/12
6.5K2
如何在git中创建新分支
介绍 Git 是一个开源版本控制系统,用于在软件开发过程中跟踪更改。它的相互独立的分支模型使其脱颖而出。分支可以基于以前版本的软件来保持当前进度的完整性,同时处理错误修复或新功能。 在本地创建 Git 存储库 要创建新的 Git 存储库,请在终端中输入以下命令: mkdir rumenz cd rumenz git init 这将在 rumenz 目录中创建并初始化一个新的 Git 存储库。创建一个新的降价文件并添加一行文本: echo This is a line of text > rumenz.md
入门笔记
2022/06/02
2.9K0
C#代码示例:在WinForm中创建并绑定一个DataTable
在我的一篇文章中,我解释了如何在没有数据库的情况下以web形式绑定gridview。这里,我将解释如何在没有数据库的windows窗体中绑定datagrid。
程序你好
2018/07/23
3.7K0
点击加载更多

相似问题

在JMeter中从不同线程组同步线程

11

线程过程中的线程同步问题

20

JMeter同步所有线程

13

如何同步JMeter线程组

12

如何同步JMeter线程组?

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文