首页 > 其他分享 >从零开始学习 GraphQL:入门指南和教程

从零开始学习 GraphQL:入门指南和教程

时间:2023-04-17 12:03:55浏览次数:41  
标签:教程 请求 接口 查询 从零开始 GraphQL query 我们

认识 GraphQL

前段时间,GraphQL 出现并掀起了一阵热潮。但是 GraphQL 跟 REST 是两种不同的东西,所以也需要一定的学习成本,导致大部分人都没有选择去学习它,今天就带大家简单过一遍 GraphQL 吧,希望大家能有所收获。

知识扩展:GraphQL 和 REST 对比

从零开始学习 GraphQL:入门指南和教程_数据

GraphQL 好在哪?

首先来说说 GraphQL 到底好在哪:

  • GraphQL 速度快并且稳定
  • GraphQL 可以获取更多的资源
  • GraphQL 是单端点查询
  • GraphQL 的可持续性非常出色
  • GraphQL 具有向下兼容的特性

GraphQL 使用场景

GraphQL 的按需查询非常实用,试想一下,你们在开发一个非常大型的网站的时候,一个首页就得请求很多个接口了,比如:

  • 轮播图接口
  • Tag 接口
  • List 接口

在上面的例子里,一个首页就得请求三个以上的接口了,浏览器并发数太多的话,会大大影响用户的使用体验。

那如果使用 GraphQL 去查询呢,就只需要一个接口就完事了,也就是一个请求就可以查询很多个请求所需要的数据,那自然减少了并发数。

GraphQL 教程

GraphQL 其实不难,无非就是传个不同的 query语句 到后端,接收不同的 JSON 罢了。

query 查询

比如我现在要设计一个学生管理平台,我想查询学生列表,我应该传什么参数呢?

分析一下上面的语句:

  • query:操作类型
  • getStudents:操作函数名
  • students:是后端定义好的接口
  • id,name,age:指的是我们需要查询的字段

这样查询,返回的数据为:

观察上面的数据,使我们想要的数据,并且只返回我们需要查询的字段。

传参查询

我们刚刚说了 getStudents 是 函数名,那既然是函数,肯定是可以传参的,比如,我们只需要查询 id 为 1 的学生,我们可以这么传:

query

variables

这样就能查到我们想要的数据了。

mutation 修改

前面讲的是 query 语句,我们试一下 mutation 语句,他可以对数据进行修改、新增。

比如我们想要新增一个学生,我们可以这么写:

调试 GraphQL 接口步骤

我们写完 GraphQL 接口之后,我们需要使用 API 工具对 GraphQL 接口进行调试。

新建 GraphQL 请求

我们需要先在 Apifox 里新建一个 GraphQL 请求,使用它去发起请求,并调试。

从零开始学习 GraphQL:入门指南和教程_GraphQL_02

然后点击 保存 按钮,完成创建。

查询

我们先查出所有的学生,我们需要跳到 运行 页面,并选择对应的 Body 类型,填写 query 语句,然后点击 发送 按钮,得到查询结果,符合我们的预期。

从零开始学习 GraphQL:入门指南和教程_数据_03

带参查询

接着我们可以进行 带参查询,需要同时配置:

  • query
  • variables

从零开始学习 GraphQL:入门指南和教程_字段_04

知识扩展:

了解更多关于 GraphQL 知识。

标签:教程,请求,接口,查询,从零开始,GraphQL,query,我们
From: https://blog.51cto.com/u_15964010/6194891

相关文章

  • 从零开始USRP 04 连接硬件的时候的一些教训
    在连接硬件的时候出现了一堆问题,大概记录一下。我用的代码是:https://www.cnblogs.com/loveandninenine/p/17286194.html然而,连接到硬件上,收端收不到,发射端发不出去,哈哈哈哈哈哈呕了。先说一下我的硬件连接。我一共用了三台USRP,其中A设备负责发射,BC设备负责接收。BC之间做了同......
  • 从零开始学习MySQL调试跟踪(2)
    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。GreatSQL是MySQL的国产分支版本,使用上与MySQL一致。作者:Yejinrong/叶金荣文章来源:GreatSQL社区投稿启用coredump制造一个coredump场景真实故障场景分析跟踪上一篇文档介绍了如何构建gdb跟踪调......
  • 特性介绍 | MySQL 测试框架 MTR 系列教程(一):入门篇
    作者:卢文双资深数据库内核研发去年年底通过微信公众号【数据库内核】设定了一个目标——2023年要写一系列特性介绍+内核解析的文章(现阶段还是以MySQL为主)。虽然关注者很少,但本着“说到就要做到”的原则,从这篇就开始了。序言:以前对MySQL测试框架MTR的使用,主要集中......
  • mapbox-gl实战教程:地图定位
    在地图开发中,定位是进行的比较多的操作,根据操作,定位到地图上一个位置,定位到地图上的一个区域,或是定位到一条路上等等。下边以实际的代码操作,讲一下mapbox-gl如何进行定位的操作。1、点数据定位:对于点数据的定位,mapbox-gl提供了两个实现方式,一个跳转(jumpTo)到位置,一个飞到(flyTo)指......
  • Air724UG开发板串口教程
    1、前言这块板子是毕业设计老师替选的,出自合宙。使用Lua5.1,包含部分外部lib包。缺点:官方宣传的Luat合宙全系列通用,在Air724ug上是无法使用的该开发板使用Lua5.1,缺少了较多常用的Api,需要外部lib补充,往往也很难查询开发板型号多种多样,官方教程使用开发板往往和你的不同......
  • 博客园SimpleMemory美化搬运工教程
    这不是我写的代码,但是,我是负责把写代码的大佬的代码分享出来。接下来,就开始吧。1.开通博客权限。点击左上角头像,然后点击左上角我的博客,如果你没有开通博客,它会让你开通,这个你只需要申请,因为是人工审核,耐心等几十分钟至几小时不等就可以被批准,开通理由随便写点正当的什么......
  • PS新手教程-如何使用PS给人物照片牙齿美白
    如何使用PS给人物照片牙齿美白?给大家介绍如何使用PS给人物照片牙齿美白,一起来看看吧。1.打开PS,导入图片,复制图层,如下图2.选择可选颜色,调整黄色。3.调整白色4.将蒙板填充为黑色,如下图5.选择画笔,如下(你也可以根据自己的需要,调整参数)6.使用白色画笔,在牙齿出涂抹,如下图完成:以上就是如何......
  • Android入门教程_废弃
    没意思,不想写了... 目录一,Android介绍Android概述什么是AndroidAndroid开发优势Android的特性可以开发什么appAndroid手机安装包apkAndroid架构https://www.runoob.com/android/android-architecture.html学习安卓需要具备哪些知识(PS+UI(优秀软件:墨刀-万兴科技......
  • SQLyog Ultimate软件安装教程
    目录一、软件介绍二、软件下载三、软件安装 (1)首先下载云盘中的SQLyog-12.0.8-0.x64.exe (2)双击执行SQLyog-12.0.8-0.x64.exe文件,点击OK (3)选择下一步 (4)勾选协议,然后选择下一步 (5)更换软件安装位置,默认是安装到C盘的,建议安装到其它磁盘。  (6)等待安装完成 (7)选择UI(用户界面)语言......
  • 七彩RGB可控模块教程
    一、硬件介绍七彩RGB可控模块,是个LED灯。但是它有三种颜色,分别为红、绿、蓝。该模块有四个接口,分别是Gnd、R、G、B。 二、控制原理通过PWM来控制LED灯的亮度,除此之外R、G、B、三个口要接三个不同的GPIO口。其实你也将RGB可控模块理解为三个不同颜色的LED灯。 三、......