我对GraphQL有一个基本的理解,所以我要总结一下
简介
「如果使用GraphQL之类的东西,似乎可以实现呢〜」
「是、是、是、是的呢〜;;;」
我只把摆脱现状作为目标,只是粗略地浏览要点,所以希望把理解的内容记录下来。
应该阅读这篇文章的人
有人经历过突然变得有点糊涂,说着「嗯、嗯、嗯、嗯对呢〜;;;」的情况。
不应该阅读这篇文章的人
已经有使用过GraphQL的人
當前問題是關於GraphQL。
用简单的语言说,这是什么意思?
为了补充不完善的API规范,这是一个规范。
在调用API时,可以在客户端设置查询,以选择返回值,而不是仅仅依赖于终点。
将API的接口与关系数据库(RDB)的SQL概念接近的感觉融合在一起的领域。
query {
person(personID:5){
name
birthday
address
created
}
}
可以选择以这种方式获取数据。
REST确实很棒,有什么问题吗?
・在响应中可能夹杂了多余的数据
・相反地,通过一次请求无法完全获取数据,需要再次发出请求
这样没关系吧?
在网络通信容量等方面过得严格的高尚工程师在世界上是存在的。
顺便提一下,有些公司在企业级别上已经将公开API转换为GraphQL了。
也有一种叫做GraphQL的客户端存在。
针对React的Apollo和Relay等。
哪一部分是图形?
可以先去查一下「图论」然后再回来。或者可以不查也可以。
服务器端的处理怎么办?
在使用库的同时,对查询请求的数据进行获取和返回的功能进行改进。
总结
粗略地说,GraphQL 改变了客户端只能调用提供的终端的世界。
类似于前端的API客户端可以像查询数据库一样使用API,并根据这个规范来定义,为此我们将这些工具称为GraphQL,类似这样的感觉。
在RDB的世界中,需要对数据进行表格定义,而在GraphQL中,则需要定义模式。
在RDB的世界中,需要使用能够实现CRUD操作的SQL指令,而在GraphQL中,则需要使用突变。
当我试图理解此API的端点时,我认为它像SQL一样操作,这是最吸引人的说法之一。
希望您在具备这个印象的基础上阅读新书,并更新这篇文章中所提到的肤浅无聊的知识。