目录
GraphQL
GraphQL 是由 Facebook 创造的用于描述复杂数据模型的一种查询语言。这里查询语言所指的并不是常规意义上的类似 sql 语句的查询语言,而是一种用于前后端数据查询方式的规范。

与Restful相比的优势
1.按需索取,避免浪费
可以看到它只会显示你请求的参数值,没有请求的参数值不会显示。

2.一次请求,查询多个数据
如果用restful风格开发的两个接口,我们请求时要发两次,graphQL帮我们一次搞定

3.API的演进无需划分版本
当API进行升级时,客户端可以不进行升级,可以等到后期一起升级,这样就大大减少了客户端和服务端的耦合度。

GraphQL的查询规范
官网给开发者提供的还是很全面的
https://graphql.org.cn/learn.html
为什么GraphQL并没有替代Restful(缺点)
1.GraphQL复杂度高,不亲民
毕竟这东西是一个查询语言,它不仅仅有整套的新语法规范,而且它查数据分为客户端和服务端,相当于需要翻译成后端能懂的语言。这里贴张图功能为java中查询User对象,我们看看它的语法和代码篇幅


2.错误时返回的提示码不直接
RestfulApi如果查出是服务器的错就范围5开头的码,客户端的错就返回4开头,但是GraphQL返回时包了一层,一般返回2开头的码,你想查具体信息还得再去里面查询errorcode,errormsg。
3.相比Restful还不是很成熟
毕竟本来用户就没有Restful多。要成为主流的接口规范它还需要变得更简单,能不能经过用户长久且反复的检验也是个问题。
197

被折叠的 条评论
为什么被折叠?



