首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在纯 JavaScript 中使用 GraphQL

但是,如果你需要使用一个 GraphQL API,你很自然就会想到自己需要使用 React 和 / 或其他一些库才能让它跑起来。...这是因为许多教程和示例代码似乎都基于这样一个假设,也就是说如果你在使用 GraphQL,就需要使用这些库。 但是,一个对 GraphQL API 的查询只不过是一个定制格式的 HTTP 请求而已。...我们来看一个不使用特殊库的简单示例(请注意,我确实使用了 dotenv 来获取用于访问我 StepZen 后端的 API 密钥)。在这个示例中,我仅传递了一个 query,该查询在发送前需要字符串化。...然后它会获取结果并将其显示在浏览器中。尽管这对 GraphQL 调用来说并不重要,但我使用 js-beautify 正确格式化了要显示的 JSON 结果,然后使用 Prism 给它上了色。...显然,一般来说你不会想要简单地向用户显示查询结果,因此让我们看一下如何使用返回的数据。 使用 GraphQL 查询响应 GraphQL 的一大优点是,它的响应只是纯 JSON,因此数据使用起来很容易。

3.6K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    如何在kubernetes中抓包

    序言 随着云原生的落地,k8s使用的人也越来越多了,而在这种环境中,抓包有的时候也是一种纠结的事情。 爱意随风起,风止意难平,能不能抓到那个异常的包,有的时候靠的也是运气。...在k8s环境中抓包 1 背景 云使用的越多,那么就会碰到各种各样的版本,低版本一般使用的是dockerd,而高版本慢慢的在抛弃dockerd,逐渐在使用containerd,其实dockerd...在k8s环境中,一般都要到pod所在的宿主机上进行抓包,而不是在pod内部抓包,毕竟pod都是最小化的进行部署,从而大部分的pod里面都没有安装tcpdump,如果安装了,那么抓包就简单了,但是也让pod...-i pid -C 3 #根据上面的命令,找到对应的path里面的数字,也就是pid nsenter -t pid -n #进入网络命名空间进行抓包 在上面的步骤中,可以看到使用ctr的时候,单独加了一个命名空间为...在dockerd中,其实也可以使用ctr命名,但是命名空间为moby,也可以查到一些信息,但是不好找到对应的pid。

    13710

    零基础入门:如何在 Postman 中轻松上手 GraphQL 技术

    在本文中,我们将介绍如何使用GraphQL进行Postman测试。以下是详细步骤:在Postman中使用GraphQL导入GraphQL架构1、在左侧导航栏中选择“APIs”,并创建一个新的API。...图片使用GraphQL内容类型标头1、在Postman中创建一个新请求,在地址字段中输入GraphQL端点URL。2、从请求方法下拉列表中选择POST。...图片4、在Body选项卡下,选择raw类型,从格式下拉列表中选择Text,使用标准GraphQL格式在body中构建查询。点击Send按钮来发送请求,然后查看响应结果即可。...图片使用变量您可以创建一个JSON格式的模式,为变量赋值,可以避免在查询字符串中输入参数。...修改“QUERY”部分中的body以动态分配变量的值,编辑“GRAPHQL VARIABLES”部分,使用我们希望将变量设置为的内容。

    1K10

    【译】如何在 Node.js 中创建安全的 GraphQL API

    原文地址:How to Create a Secure Node.js GraphQL API 作者:Marcos 本文的目的是提供一份快速指南 -- 《如何快速在如何在 Node.js 中创建安全的...GraphQL 在一些场景中非常适合。REST 是一种架构设计模式,在很多场景中也得到了验证。如今,有大量的文章试图证明为什么一个比另一个好,或者你应该使用 REST 而不是 GraphQL。...配置项目依赖和 TypeScript 为了加快这一步,你可以直接使用我们 git 仓库中的内容来替换你的 package.json,这里面包含了所需的所有依赖: { "name": "node-graphql...; 创建模块 (Module) 的基本方法; 测试我们的 GraphQL API; 为了将内容侧重于开发使用,本文忽略了开发中一些重要的内容,简单总结如下: 新增内容时需要校验 对服务中的错误进行正确处理...请随意使用、fork、提 issue 和 PR。请注意,本文中所提到所有标准和建议都不会是一成不变的。 这只是许多构建 GraphQL API 方法中的一种。

    2.5K20

    如何在Python包中控制只允许特定Python版本使用

    如何在Python包中控制只允许特定Python版本使用 在发布Python包时,有时候我们想要限制只能在某些Python版本中使用,防止用户在不兼容的版本中安装使用。...本文将介绍在构建Python包时,如何通过设置来只允许特定Python版本运行。...使用python_requires Python包的元数据中包含一个python_requires字段,用于指定package的Python版本依赖关系。...https://pypi.org/classifiers/ 版本范围的环境标记 在requirements中可以使用PEP 440定义的版本规范和环境标记来表示依赖关系。...发布元数据表示兼容版本 版本范围的环境标记也可用于指定依赖关系 随着Python版本要持续维护元数据 利用好这些机制,就可以方便地控制package只在特定Python版本下可用,避免用户在不兼容环境中安装使用

    79030

    如何在Python 3中安装pandas包和使用数据结构

    pandas软件包提供了电子表格功能,但使用Python处理数据要比使用电子表格快得多,并且证明pandas非常有效。...在本教程中,我们将首先安装pandas,然后让您了解基础数据结构:Series和DataFrames。 安装 pandas 同其它Python包,我们可以使用pip安装pandas。...让我们在命令行中启动Python解释器,如下所示: python 在解释器中,将numpy和pandas包导入您的命名空间: import numpy as np import pandas as pd...pandas软件包提供了许多不同的方法来处理丢失的数据,这些null数据是指由于某种原因不存在的数据或数据。在pandas中,这被称为NA数据并被渲染为NaN。...您现在应该已经安装pandas,并且可以使用pandas中的Series和DataFrames数据结构。 想要了解更多关于安装pandas包和使用数据结构的相关教程,请前往腾讯云+社区学习更多知识。

    19.5K00

    教你如何在 React 中逃离闭包陷阱 ...

    但你确实需要在表单中使用它,因此你决定用 React.memo 封装它,以便在表单中的状态发生变化时尽量减少它的重新渲染。...每次使用 useCallback 时,我们都会创建一个闭包,并缓存传递给它的函数: // that inline function is cached exactly as in the section...我们在 onClick 中的值从未更新过,你能告诉我为什么吗? 当然,这又是一个过期闭包。当我们创建 onClick 时,首先使用默认状态值(undefined)形成闭包。...使用 Refs 逃离闭包陷阱 让我们暂时摆脱 React.memo 和 onClick 实现中的比较函数。...这就是使用 useCallback 等钩子的依赖关系允许我们做的事情。 如果我们错过了依赖关系,或者没有刷新分配给 ref.current 的闭包函数,闭包就会 "过期"。

    68940

    如何在 Debian 中锁定软件包版本

    在 Debian 或基于 Debian/Ubuntu 的 Linux 发行版系统中,有多种方法可以将软件包锁定在一个特定的版本。也就是说,可以将某个软件固定维护在指定版本,不让其随系统更新而更新。...在常见的数据类服务中,这样的需求很有代表性,比如缓存Redis、数据队列RabbitMQ等。...建议将尽量少的的软件包锁定不更新,尤其是系统中的共享库文件。...可以一次指定多个包。 ? 方法二:使用 dpkg 防止软件包更新 有一些不遵守规则的图形包管理器,会忽略 apt-mark 锁定的软件,为了保险起见,我们还可以使用 dpkg 防止软件包更新。...使用样例如下: echo "PACKAGE hold" | sudo dpkg --set-selections ##锁定软件包 dpkg --get-selections | grep hold

    2.2K30

    如何在 Linux 中使用 apt 命令管理包

    本文通过示例向您展示如何在 Ubuntu、Debain、Linux Mint 或任何其他基于 Debian 或 Ubuntu 的发行版中使用 apt 命令,以便您可以轻松管理软件包。...apt是一款功能强大的包管理工具,可用于在Linux 操作系统中搜索、安装、更新、升级和管理包,它会自动管理软件包依赖项,根据需要安装所需的软件,并在不再需要时将其删除。...Linux 中的 apt 命令是什么?...apt(高级打包工具)是一个命令行工具,用于与Debian和基于 Debian 的 Linux 发行版(如Ubuntu)中的dpkg打包系统进行轻松交互,它是分布在名为 的包中的工具集合,旨在简化管理软件的过程...如何在 Linux 中使用 apt 命令 请记住,大多数 apt 命令必须以具有sudo 特权的用户身份运行 。

    1.7K00

    REST在许多API使用场景中仍然优于GraphQL

    但是,当您 开始使用 GraphQL 时,您会发现它会产生一整套新的问题,这些问题会压倒其优势。 我将分解这些问题,以便您更好地决定 GraphQL 是否值得在您的集成中使用。...此外,GraphQL 通常根据请求的复杂性(例如请求的字段或对象的数量)应用速率限制。随着时间的推移,随着您在请求中增加资源,理解和遵循您的速率限制将变得更加复杂。...例如,如果您收到 429 太多请求错误,您可以根据响应中建议的等待时间创建自动重试。 另一方面,GraphQL 要求您的工程师考虑错误键中提供的响应。...由于这些响应不像 REST 中那样标准化,因此它们更难计划和自动处理。 许多工程师都有构建和/或维护 REST API 集成的经验。 各种规模的公司主要使用 REST API。...举个例子:根据 Gartner 的研究,85% 的组织使用 REST API——而 GraphQL 仅被 19% 的组织使用。

    10310

    【DB笔试面试511】如何在Oracle中写操作系统文件,如写日志?

    题目部分 如何在Oracle中写操作系统文件,如写日志? 答案部分 可以利用UTL_FILE包,但是,在此之前,要注意设置好UTL_FILE_DIR初始化参数。...若想普通用户使用该包,则需要在SYS用户下执行“GRANT EXECUTE ON DBMS_LOCK TO USER_XXX;”命令。 Oracle使用哪个包可以生成并传递数据库告警信息?...在CLIENT_INFO列中存放程序的客户端信息;MODULE列存放主程序名,如包的名称;ACTION列存放程序包中的过程名。该包不仅提供了设置这些列值的过程,还提供了返回这些列值的过程。...如何在存储过程中暂停指定时间? DBMS_LOCK包的SLEEP过程。例如:“DBMS_LOCK.SLEEP(5);”表示暂停5秒。 DBMS_OUTPUT提示缓冲区不够,怎么增加?...如何在Oracle中写操作系统文件,如写日志? 可以利用UTL_FILE包,但是,在此之前,要注意设置好UTL_FILE_DIR初始化参数。

    28.8K30

    工具 | 如何在Python中调用R语言包?

    Python又是当下最流行的编程软件之一,Python也是开源的,包含了非常丰富的第三方库(如机器学习算法),那么如何让Python和R共同工作呢?利用Python中的rpy2包就可以实现这一想法。...加载rpy2与rpy2包的内容 rpy2,可以实现使用python读取R的对象、调用R的方法以及Python与R数据结构转换等。 (1)加载rpy2 ? rpy2包里面包含下面的内容: ?...如何使用ry2 (1)在Python中加载R软件包 需要用到robjects中的packages里面的importr函数,我们以R中的stats包和ggplot2包为例,ggplot2是R中超级强大的绘图包...总结 本文主要介绍了利用rpy2包在Python中访问R语言包和函数,其中最重要的子包是robjects,可以生成R中的数据结构;最重要的实例是rojects.r(' '),可以通过三种方式访问R中的数据和函数...在Python中使用R语言的包还有很多,rpy2只是其中一个,这就是开源软件的强大之处啊! END. 来源: 研模时光

    12K80

    如何在Ubuntu 18.04上使用devtools安装R包

    R社区以不断为特定研究领域添加用户生成的包而闻名,这使其适用于许多领域。 在本教程中,我们将讨论如何安装devtools并使用它直接从GitHub安装R包。...第3步 - 从GitHub安装R包 在这一步中,我们将直接从GitHub安装Shiny的最新开发版本,这是一个R的Web应用程序框架。...检查防火墙 Shiny是一个Web应用程序框架,因此为了在浏览器中查看其示例,我们需要确保在我们的防火墙上允许Web流量。内置Web服务器在每次启动时随机选择一个端口,除非我们使用特定值启动它。...首先,我们将中断与服务器CTRL+ C,然后退出将R壳CTRL+ D并重新输入它作为根: sudo -i R 我们可以使用以下命令安装稳定版本,该命令将覆盖我们在前面步骤中完成的GitHub安装。...cat /usr/local/lib/R/site-library/shiny/DESCRIPTION 结论 在本教程中,我们直接从GitHub安装了最新的Shiny软件包,并学习了如何从CRAN重新安装其稳定版本

    5.7K00

    golang开发中包的使用

    在golang中,所有源文件都属于一个包,golang的包具有以下特性: 包可以被其他包引用 每个golang程序只有一个main包 包的主要用途是提高代码的可复用性 本节,我们将介绍包的相关概念以及使用方法...使用GOPATH时,golang会在以下目录中搜索包: GOROOT/src:该目录保存了Go标准库里代码。 GOPATH/src:该目录保存了应用自身的代码和第三方依赖的代码。 2....编译 golang中go build 命令主要用于编译代码。在包的编译过程中,若有必要,会同时编译与之相关联的包。...,如 go get github.com/satori/go.uuid 执行命令后,Go Modules会从我们在安装golang时设置的GOPROXY镜像仓库地址去下载对应的包,安装完成之后我们看到go.mod...Go Modules可以轻易地进行一个包的依赖管理和版本控制,go build和go install将自动使用go.mod中的依赖关系,减少了GOPATH管理时的复杂性。

    77720
    领券