GraphQL 为什么火不起来?这么多年了
创始人
2025-07-13 15:30:45
0

GraphQL 是啥?

官方介绍:GraphQL 既是一种用于 API 的查询语言也是一个满足你数据查询的运行时。GraphQL 对你的 API 中的数据提供了一套易于理解的完整描述,使得客户端能够准确地获得它需要的数据,而且没有任何冗余,也让 API 更容易地随着时间推移而演进,还能用于构建强大的开发者工具。

通俗点说就是: 我们在使用 Restful 风格接口的时候,增删改查可能会有四个接口,但是如果你用了 GraphQL 的话,可能就只需要一个接口,通过传递不同的模板参数,去执行不同的增删改查操作。

你可以灵活地去调用 GraphQL 去获取你自己想要的数据。

简单实践

GraphQL 优势?

很多公司的后端使用了 GraphQL 来代替之前的 Restful 接口风格,那么为啥呢?GraphQL 到底有什么优势,值得这些公司去使用呢?

1.灵活

我们使用 Restful 的时候,大部分情况下一个接口只能返回一种数据,如果你想要另一种数据,那只能是重新再写一个接口。

但是在 GraphQL 中,返回什么样的数据,可以由调用方去决定,就比如刚刚实践的例子,假如我传了:

那么数据库查询会返回给我两个字段的数据:

如果你只需要一个字段,那么你可以传:

那么数据库查询就只会返回给你一个字段:

2.精简

其实刚刚已经举过例子了,Restful 风格下,增删改查需要写四个接口,但是 GraphQL 可能只需要一个接口即可,大大减少了接口代码。

3.统一

因为 GraphQL 查询的入口大大减少,甚至可能一个项目只有一个查询入口,所以统一了查询的规范。

GraphQL 局限性

1.学习成本

大部分前后端都习惯了 Restful 风格,想要转 GraphQL 需要一定的学习成本,所以我们可以看到一般使用 GraphQL 的都是初创公司或者大公司,只有这些公司才有条件或者成本区做这件事。

2.建设成本

很多公司都一直是建设 Restful 的基础架构,如果想要转 GraphQL,那意味着可能需要改造现有的架构,这是需要时间成本和建设成本的。

3.鸡肋?

说 GraphQL 好用吧,确实挺好用,但是说非他不可吧,好像也不是。感觉就是还没到非用他不可的地步。

4.安全性

正是因为 GraphQL 的灵活性开放性,所以导致了他的安全系数大大降低。

调用方能灵活获取数据,那是万万不可的,因为有一些私密数据可不能给他们去获取~

可能还有遇到一些恶意用户,对你的数据进行查询,进而对你造成不利。

5.排队?

只有一个查询入口的话,那如果很多调用方同时调用的话,难道要排队查询吗?这样的话会不会查询时长会很久?

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...