GraphQL是一种新的API标准
由Facebook开发和开源,目前由来自世界各地的大公司和个人维护
GraphQL本质上是一种基于api的查询语言
理解为GraphQL是基于API之上的一层封装,目的是为了更好,更灵活的适用于业务的需求变化。
Facebook在2012年开始在其native mobile apps中使用GraphQL,Facebook第一次公开谈论GraphQL是在宣布开源计划后不久的2015年React峰会的时候。
在GraphQL的世界里我们不用多取数据,也不用担心数据取少了,我们只需要按需获取即可。
REST最常见的问题之一是API的返回数据过多或者过少,这是因为客户端下载数据的唯一方法是通过访问返回固定数据结构的endpoint,这就会导致我们设计API非常困难,因为它既要能够为客户提供精确的数据需求,又需要满足不同调用者的需求,这本身就是相互矛盾的。GraphQL的发明者Lee Byron提出了一个很重要的概念: “用图形来思考,而不是endpoint”
参考文章: