graphQL

GraphQL是一种描述请求数据方法的语法,通常用于客户端从服务端加载数据,graphQL有三个主要特征

  1. 允许客户端指定具体需要的数据

  2. 让从多个数据源汇总取得数据变得更简单

  3. 使用类型系统描述数据

graphQl由Facebook开发,用于解决其巨大老旧的架构的数据请求问题,本质是解决REST API的局限性问题。

例如,一个展示文章的接口,除了文章的属性之外,在每篇文章下面要展示喜欢这篇文章的用户列表,有用户的一些属性,如果是REST API,需要 更改原有接口,加上用户的信息。或者额外加一个获取用户信息的接口,但是都有一定的问题。

Facebook提出了一个解决方案,不再使用多个节点,改成用一个节点进行复杂的查询,将数据按照客户端的要求返回。GraphQL类似于一个中间层,一个 GraphQL API主要由三个部分组成:scheme,queries,resolvers

Written on February 21, 2021