返回顶部
首页 > 资讯 > 精选 >灵活的API查询语言GraphQL怎么用
  • 794
分享到

灵活的API查询语言GraphQL怎么用

2023-06-04 09:06:34 794人浏览 薄情痞子
摘要

灵活的api查询语言GraphQL怎么用,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。GraphQL 是什么GraphQL 是一种 API 查询语言,是一个对自

灵活的api查询语言GraphQL怎么用,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

GraphQL 是什么

GraphQL 是一种 API 查询语言,是一个对自定义类型系统执行查询的服务端运行环境。它相当于客户端和服务器之间的中介,将客户端发来的所需数据的请求处理之后在一次请求之中就能获得符合客户端需求的响应数据。它还有个好处就是它是一种当作一种组织,管理数据的能力来使用,而不绑定在什么数据库上面,数据存在于哪里与它无关。

对比 Rest API

Rest API 是和 GraphQL 同类的用于查询的语言。Rest 把每个资源都用一个 URL 表示,访问这个 URL 就能够得到一份 JSON 格式的数据响应,但是这有一个缺点,你可能会得到与需求不相关的数据。而 GraphQL 则不会,发送过去的请求中指定了需要哪个资源,举个简单的例子,你需要这本书的作者的姓资源,那么 Rest API 会把把作者的名字也发给你,因为你是通过访问作者的信息的 URL 来获得姓的,而 GraphQL 则会只把需要的信息发过来,换句话说,需要什么资源是用户来决定的。

RPC vs REST vs GraphQL(参考资料点击这里)

灵活的API查询语言GraphQL怎么用

在合适的时候选择合适的工具是重要的,下面则列举了在一些场景下最好使用什么工具来作为参考

如果是 Management API,这类 API 的特点如下:

  • 关注于对象与资源

  • 会有多种不同的客户端

  • 需要良好的可发现性和文档

  • 这种情景使用 REST + jsON API 可能会更好。

如果是 Command or Action API,这类 API 的特点如下:

  • 面向动作或者指令

  • 仅需要简单的交互

  • 这种情况使用 rpc 就足够了。

如果是 Internal Micro Services API,这类 API 的特点如下:

  • 消息密集型

  • 对系统性能有较高要求

  • 这种情景仍然建议使用 RPC。

如果是 Micro Services API,这类 API 的特点如下:

  • 消息密集型

  • 期望系统开销较低

  • 这种情景使用 RPC 或者 REST 均可。

如果是 Data or Mobile API,这类 API 的特点是:

  • 数据类型是具有图状的特点

  • 希望对于高延迟场景可以有更好的优化

  • 这种场景无疑 GraphQL 是最好的选择。

GraphQL 的查询与变更——如何查询 GraphQL 服务器
以一个查询结果为例:

{hero {name}}

该查询将会获得一个与其结构几乎一样的结果:

{"data": {"hero": {"name": "R2-D2"}}}

这是 GraphQL 最重要的特性,因为这样一来,你就总是能得到你想要的数据,而服务器也准确地知道客户端请求的字段。并且在GraphQL中查询是可交互的,你可以按你喜欢来改变查询,然后看看新的结果。

在查询时可以添加上参数,结果也会显得更有趣。参数可以是多种不同的类型。GraphQL 自带一套默认类型,但是 GraphQL 服务器可以声明一套自己的定制类型,只要能序列化成你的传输格式即可。

例如,有如下查询:

{human(id: "1000") {nameheight}}

其结果为:

{"data": {"human": {"name": "Luke Skywalker","height": 1.72}}}

在类似 REST 的系统中,你只能传递一组简单参数 —— 请求中的 query 参数和 URL 段。但是在 GraphQL 中,每一个字段和嵌套对象都能有自己的一组参数,从而使得 GraphQL 可以完美替代多次 API 获取请求。甚至你也可以给 标量(Scalar)字段传递参数,用于实现服务端的一次转换,而不用每个客户端分别转换。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注编程网精选频道,感谢您对编程网的支持。

--结束END--

本文标题: 灵活的API查询语言GraphQL怎么用

本文链接: https://www.lsjlt.com/news/237170.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 灵活的API查询语言GraphQL怎么用
    灵活的API查询语言GraphQL怎么用,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。GraphQL 是什么GraphQL 是一种 API 查询语言,是一个对自...
    99+
    2023-06-04
  • 灵活性的Python编程语言是怎么样的
    灵活性的Python编程语言是怎么样的,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。在了解Python编程语言之前,要理解下什么是Python编程语言?Cuido vanR...
    99+
    2023-06-17
  • Hibernate查询语言怎么使用
    这篇文章主要介绍“Hibernate查询语言怎么使用”,在日常操作中,相信很多人在Hibernate查询语言怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Hibernate查询语言怎么使用”的疑惑有所...
    99+
    2023-06-17
  • 如何利用Go语言构建灵活的接口
    标题:探索Go语言中构建灵活接口的方法 Go语言作为一种快速、简洁、高效的编程语言,被越来越多的开发者选择用来构建各类应用程序。其中,构建灵活的接口是Go语言的重要特性之一,使得程序设...
    99+
    2024-04-02
  • 深入理解Go语言range关键字的灵活运用
    标题:深入理解Go语言range关键字的灵活运用 Go语言是一种高效、简洁的编程语言,其内置的range关键字在处理数组、切片、映射和通道等数据结构时非常灵活,并且能提高代码的可读性和...
    99+
    2024-03-12
    go语言 灵活运用 range关键字 键值对
  • HQL查询语言的作用是什么
    本篇文章为大家展示了HQL查询语言的作用是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1.获取Hibernate Session对象2.编写HQL语句3.以H...
    99+
    2024-04-02
  • go语言怎么查询mysql数据
    Golang是一种新兴的编程语言,与其他语言一样,它可以与多种数据库进行交互。在本文中,我们将讨论如何使用Golang中的MySQL驱动程序来查询MySQL数据库。为了使用MySQL驱动程序,我们需要通过以下命令将其安装到我们的Go项目中:...
    99+
    2023-05-14
    go语言 mysql
  • 探索Go语言中元组的灵活性和应用场景
    【探索Go语言中元组的灵活性和应用场景】 在Go语言中,元组是一种被广泛使用的数据结构,它可以用来将多个不同类型的值组合在一起,实现数据的灵活存储和传递。本文将探讨Go语言中元组的灵活...
    99+
    2024-04-02
  • Linq组合查询怎么集成数据库语言查询
    本篇内容主要讲解“Linq组合查询怎么集成数据库语言查询”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linq组合查询怎么集成数据库语言查询”吧!通常来讲,Linq组合查询提供了一条很常规的途径...
    99+
    2023-06-17
  • Couchbase中怎么执行N1QL查询语言
    在Couchbase中执行N1QL查询语言可以通过使用Couchbase Query Workbench工具或通过使用Couchba...
    99+
    2024-04-09
    Couchbase N1QL
  • Prometheus系统的查询语言是什么
    PromQL(Prometheus Query Language) 是 Prometheus 系统中用于查询和分析时间序列数据的查询...
    99+
    2024-03-04
    Prometheus
  • Couchbase中的N1QL查询语言是什么
    N1QL是Couchbase中的查询语言,是基于SQL的查询语言,特别用于查询JSON数据。N1QL允许用户执行类似于SQL的查询语...
    99+
    2024-04-09
    Couchbase N1QL
  • Linq查询语法怎么使用
    这篇文章主要介绍“Linq查询语法怎么使用”,在日常操作中,相信很多人在Linq查询语法怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linq查询语法怎么使用”的疑惑有所帮助!接下来,请跟着小编一起来...
    99+
    2023-06-17
  • c语言成绩查询系统怎么实现
    要实现一个C语言成绩查询系统,你可以按照以下步骤进行:1. 定义学生结构体:首先,你需要定义一个学生的结构体,其中包括学生的学号、姓名和成绩等信息。```ctypedef struct {int studentID;char name[...
    99+
    2023-08-09
    c语言
  • JPA 2.0动态查询机制Criteria API怎么用
    小编给大家分享一下JPA 2.0动态查询机制Criteria API怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!自从 JPA 于 2006 年首次被引入之...
    99+
    2023-06-17
  • SQL中的结构化查询语言是怎样的
    SQL中的结构化查询语言是怎样的,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。SQL(结构化查询语言)是一门用于管理关系型数据库和对数据库...
    99+
    2024-04-02
  • MySQL子查询语句怎么使用
    这篇“MySQL子查询语句怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“MySQL...
    99+
    2023-03-06
    mysql
  • php case when查询语句怎么用
    本教程操作环境:Windows7系统、PHP8.1版、Dell G3电脑。php case when查询语句怎么用?PHP Mysql 中的CASE WHEN 用法在SELECT语句查询中可以使用CASE WHEN对查询出来的结果,...
    99+
    2022-11-22
    php
  • Go语言中怎么使用ORM框架构造查询条件
    这篇文章主要介绍了Go语言中怎么使用ORM框架构造查询条件的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Go语言中怎么使用ORM框架构造查询条件文章都会有所收获,下面我们一起来看看吧。构造查询条件worm是一款...
    99+
    2023-07-04
  • sql标准化查询语言的作用有哪些
    1. 数据查询:SQL是一种用于查询数据库的标准化语言,可以快速、准确地从数据库中获取所需的数据。2. 数据操作:SQL可以用于对数...
    99+
    2023-06-14
    sql标准 sql
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作