我对GraphQL有一个基本的理解,所以我要总结一下

简介

「如果使用GraphQL之类的东西,似乎可以实现呢〜」
「是、是、是、是的呢〜;;;」

我只把摆脱现状作为目标,只是粗略地浏览要点,所以希望把理解的内容记录下来。

应该阅读这篇文章的人

有人经历过突然变得有点糊涂,说着「嗯、嗯、嗯、嗯对呢〜;;;」的情况。

不应该阅读这篇文章的人

已经有使用过GraphQL的人

當前問題是關於GraphQL。

用简单的语言说,这是什么意思?

为了补充不完善的API规范,这是一个规范。
在调用API时,可以在客户端设置查询,以选择返回值,而不是仅仅依赖于终点。

将API的接口与关系数据库(RDB)的SQL概念接近的感觉融合在一起的领域。

query {
  person(personID:5){
    name
    birthday
    address
    created
  }
}

可以选择以这种方式获取数据。

REST确实很棒,有什么问题吗?

・在响应中可能夹杂了多余的数据
・相反地,通过一次请求无法完全获取数据,需要再次发出请求

这样没关系吧?
在网络通信容量等方面过得严格的高尚工程师在世界上是存在的。

顺便提一下,有些公司在企业级别上已经将公开API转换为GraphQL了。

也有一种叫做GraphQL的客户端存在。

针对React的Apollo和Relay等。

哪一部分是图形?

可以先去查一下「图论」然后再回来。或者可以不查也可以。

服务器端的处理怎么办?

在使用库的同时,对查询请求的数据进行获取和返回的功能进行改进。

 

总结

51gkl1qtM2L.SX379_BO1,204,203,200.jpg

粗略地说,GraphQL 改变了客户端只能调用提供的终端的世界。

类似于前端的API客户端可以像查询数据库一样使用API,并根据这个规范来定义,为此我们将这些工具称为GraphQL,类似这样的感觉。

在RDB的世界中,需要对数据进行表格定义,而在GraphQL中,则需要定义模式。
在RDB的世界中,需要使用能够实现CRUD操作的SQL指令,而在GraphQL中,则需要使用突变。

当我试图理解此API的端点时,我认为它像SQL一样操作,这是最吸引人的说法之一。

希望您在具备这个印象的基础上阅读新书,并更新这篇文章中所提到的肤浅无聊的知识。

广告
将在 10 秒后关闭
bannerAds