GraphQL 查询入门指南:简单易懂

liam
• 阅读 258

GraphQL

GraphQL 是一种 API 查询语言和运行时,用于使用现有数据完成这些查询。它为您的 API 中的数据提供了完整且易于理解的描述,让客户能够准确地询问他们需要什么,更容易随着时间的推移发展 API,并启用强大的开发人员工具。

GraphQL 查询入门指南:简单易懂

GraphQL Query

GraphQL 的查询是高效的,我们想要使用 GraphQL 进行查询的话,需要使用到 GraphQL 提供的 query 语句,query 语句的作用是查询一些你所需要的数据,并当做响应返回给你。

普通查询 query

比如我现在要做一个商品管理系统,我需要查询商品的列表,那么就需要用到 GraphQL 的 query 语句。

举一个例子:

query getShops {
  shops {
    id,name,tags
  }
}

上面语句的意思就是:

  • query:执行的操作名,也就是查询
  • getShops:执行的函数名
  • shops:后端定义的接口
  • id,name,tags:所需要查询的字段

这个查询语句最终会返回什么样的数据呢,如下面,可以看到只会返回我们所需要的数据,并不会返回额外的字段,这大大提升了查询的速率。

{
  "data": {
    "shops": [
      {
        "id": "1",
        "name": "tv",
        "tags": []
      },
      {
        "id": "2",
        "name": "phone",
        "tags": []
      }
    ]
  }
}

带参查询 variables

上面说了,getShops 是一个函数名,那既然是函数,就可以传递参数,我们需要使用到 GraphQL 的 variables 这个字段,去进行查询。

比如我现在想要查询一个 id 为 1 的商品,我可以这么去写 query:

query getShop($id: ID!){
  shop(id: $id) {
    id,name,tags
  }
}

我们看到,我们需要传递 ID 这个参数,才能查到对应的商品,所以我们需要传 variables。

{
  "id": "1"
}

这样才能返回对应的那个商品:

{
    "data": {
        "id": "1",
        "name": "tv",
        "tags": []
    }
}

调试 GraphQL API

在进行一个 GraphQL API 的编写完成后,我们需要对它进行调试,确保它返回的数据是我们想要的,这也是一个开发所需要做的重要的一个环节。

下面就使用 Apifox 对 GraphQL API 进行调试,超级方便快捷哦~

GraphQL 请求定义

我们先定义一个 GraphQL 请求,填写对应的 接口路径、接口名称、接口请求方法,并点击保存。

GraphQL 查询入门指南:简单易懂

普通查询

跳转到 运行页面,Body 格式选择 graphql,并且填入 query 语句,点击 发送 按钮,即可查看到 Response,可以看到是我们预期的数据,非常棒!

GraphQL 查询入门指南:简单易懂

传参查询 variables

接下来进行传参查询,要填入 query 和 variables,进行传参查询,查询 id 为 1 的商品,

填完 query 和 variables,点击发送,可以看到返回的结果数据,是我们想要的 id 为 1 的商品~

GraphQL 查询入门指南:简单易懂

知识扩展

点赞
收藏
评论区
推荐文章
Easter79 Easter79
3年前
stardog graphql 简单操作
预备环境:下载stardog软件包graphql查询地址创建一个简单数据库./stardogadmindbcreatenstarwarsgraphql查询方式http地址:http://localhost:5820/starwars/graphql
不是海碗 不是海碗
1年前
原生JS + HTML + CSS 实现快递物流信息 API 的数据链式展示
全国快递物流查询API是一种提供实时、准确、可靠的快递物流信息查询服务的接口。它基于现有的物流信息系统,通过API接口的方式,向用户提供快递物流信息的查询、跟踪、统计等功能。
Stella981 Stella981
3年前
Defi数据引擎The Graph调用方法【含源码】
当你尝试访问以太坊智能合约以及DApp产生的区块链数据时,可能会发现很难将数据转换为一种可读的格式。TheGraph提供了一种用于查询以太坊和IPFS网络数据的索引协议,任何人都可以基于其提供的开放API创建并发布索引数据,即subgraph,这使得区块链数据更容易访问。在这个教程中,我们将学习如何使用TheGraph来查询Aave协议数据,使用的技术
Stella981 Stella981
3年前
GraphQL 使用介绍
!(https://oscimg.oschina.net/oscnet/9d854df9aa4e01f403bbb6ae4c9da2afbdf.jpg)GraphQL是Fackbook的一个开源项目,它定义了一种查询语言,用于描述客户端与服务端交互时的数据模型和功能,相比RESTfulAPI主要有以下特点:根据需要返回数据
Stella981 Stella981
3年前
Django查询集 API
查询集API参考 本文档描述查询集API的细节。它建立在模型和数据库查询指南的基础上,所以在阅读本文档之前,你也许需要首先阅读这两部分的文档。本文档将通篇使用在数据库查询指南中用到的Weblog模型的例子。何时对查询集求值 在内部,可以创建、过滤、切片和传递查询集而不用真实操作数据库。在
不是海碗 不是海碗
1年前
全国快递物流 API 实现快递单号自动识别的原理解析
概述全国快递物流API是一种提供快递物流单号查询的接口,涵盖了包括申通、顺丰、圆通、韵达、中通、汇通等600快递公司的数据。该API的目标是为快递公司、电商、物流平台等提供便捷、快速、准确的快递物流信息查询服务。数据采集和处理全国快递物流API的数据采集
不是海碗 不是海碗
1年前
HTML+JS 实现手机号码归属地查询功能
手机号码归属地API是一种提供号码归属地信息的接口,它通过与运营商和电信数据库交互,根据手机号码查询相关归属地信息并返回结果。通过使用手机号码归属地API,开发者可以轻松地集成号码归属地查询功能到他们的应用程序和服务中,为用户提供更好的体验和服务。功能概述
曼成 曼成
1年前
如何使用IP归属地查询API来追踪网络活动
IP归属地查询API是一种强大的工具,可以帮助您追踪网络活动并获取有关IP地址的重要信息。本文将探讨如何使用IP归属地查询API来追踪网络活动,以及它在不同领域的实际应用。
曼成 曼成
11个月前
企业招聘信息查询API:招聘市场情报站,一键了解就业机会
在当今这个信息爆炸的时代,快速、准确地获取企业招聘信息对于求职者来说至关重要。为了满足这一需求,企业招聘信息查询API应运而生,它为求职者提供了一个便捷、高效的平台,帮助用户快速了解企业的招聘动态。本文将详细介绍企业招聘信息查询API的功能、优势以及如何使用该API。