GraphQL是什么

最近看了一个项目用到了GraphQL

官网地址在这里哈,https://graphql.org/,简单说GraphQL是一种提供api接口的方式。
之前接触比较多的是restful api

什么是restful 接口?

简单说就是一句话action + url = 一个资源
action是指http的method,即get,post,delete等,url不用说了吧,可以带参数,也可以不带,这就是restful接口,
它的特点和缺点是:
1、接口返回的一般是json格式的数据
2、一个应用往往需要请求很多的资源,那么就有很多的url,在实际开发的过程中,前端同学往往希望后端接口能整合的尽量整合,不要弄那么多接口;
3、有些资源很难整合到一个接口,前端通常需要请求多次,有时为了获取一点点数据,要请求一个返回大量数据的接口,前端再过滤

GraphQL又是什么

GraphQL粗浅的理解就是所有的请求都用一个url,并且都是post方法,秘密在于post的body,它使用了一种特殊的描述语言,来描述你的请求意图,这种特殊的语言也是一种协议,前后端都要理解这种协议。
说协议可能有点抽象,其实就是类似mlsql,engine提供一个提交sql的http接口,然后返回结果,我们的数据处理意图都通过sql描述,背后有一套语言解释器和具体的执行逻辑,GraphQL也是如此。

你可能感兴趣的:(GraphQL是什么)