REST 架构的替代方案 为什么说GraphQL是API的未来?

 

 

Managing enterprise accounts - GitHub Docs https://docs.github.com/en/graphql/guides/managing-enterprise-accounts

 

 

Resource limitations - GitHub Docs https://docs.github.com/en/graphql/overview/resource-limitations

为什么说GraphQL是API的未来?

 

https://mp.weixin.qq.com/s/Qj1eMnKX0osS-7rjLrSJLw

 

GitHub GraphQL API - GitHub Docs https://docs.github.com/en/graphql

Migrating from REST to GraphQL - GitHub Docs https://docs.github.com/en/graphql/guides/migrating-from-rest-to-graphql

 

 

 

 

 

相信大家对GraphQL早已不陌生,这一Facebook推出的接口查询语言,立志在简洁性和扩展性方面超越REST,并且已经被应用在很多复杂的业务场景中。GitHub这样描述他们为何对GraphQL青睐有加:

我们为API v4选择GraphQL,是因为它为我们的集成商提供了显著的灵活性。相比于REST API v3,它最强大的优势在于,你能够精确的定义所需要的数据,并且毫无冗余。通过GraphQL,你只需要一次请求就能取到通过多个REST请求才能获得的数据。

在GitHub的开发者文档中有较为完整的GraphQL API v4介绍,本文整理并翻译了其中的部分内容,并按以下章节组织,希望能给入门GraphQL或有兴趣从事GitHub App开发的同学以参考:

  • 概念解释
  • 使用方法
  • 示范案例
  • 文档指引

 

 

GraphQL查询语言本质上就是从对象中选择field”。

关于field,官方标准中还说:

所有的GraphQL操作必须指明到最底层的field,并且返回值为标量,以确保响应结果的结构明白无误

 

 



作者:Entronad
链接:https://www.zhihu.com/question/264629587/answer/954711367
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

 

 

相信大家对GraphQL早已不陌生,这一Facebook推出的接口查询语言,立志在简洁性和扩展性方面超越REST,并且已经被应用在很多复杂的业务场景中。GitHub这样描述他们为何对GraphQL青睐有加:

我们为API v4选择GraphQL,是因为它为我们的集成商提供了显著的灵活性。相比于REST API v3,它最强大的优势在于,你能够精确的定义所需要的数据,并且毫无冗余。通过GraphQL,你只需要一次请求就能取到通过多个REST请求才能获得的数据。

在GitHub的开发者文档中有较为完整的GraphQL API v4介绍,本文整理并翻译了其中的部分内容,并按以下章节组织,希望能给入门GraphQL或有兴趣从事GitHub App开发的同学以参考:

  • 概念解释
  • 使用方法
  • 示范案例
  • 文档指引

 



作者:Entronad
链接:https://www.zhihu.com/question/264629587/answer/954711367
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
 
 
GitHub GraphQL API v4 | GitHub Developer Guide https://developer.github.com/v4/#why-github-is-using-graphql
 
 
GraphQL快速入门教程 - 知乎 https://zhuanlan.zhihu.com/p/75618997

特点

  1. 需要什么就获取什么数据
  2. 支持关系数据的查询
  3. API无需定义各种路由,完全数据驱动
  4. 无需管理API版本,一个版本持续演进
  5. 支持大部分主流开发语言和平台
  6. 强大的配套开发工具

 

 

 GraphQL 作为通用的 REST 架构的替代方案而被开发出来,它允许客户端只请求其需要的数据——不多也不少,一切在客户端的主导下。在一个 RESTful 架构下,因为后端开发人员定义在各个 URL 的资源上返回的数据,而不是前端开发人员来提出数据需求,使得按需获取数据会非常困难。

[译]为什么选用 GraphQL:它的优点、缺点和备选方案 - 知乎 https://zhuanlan.zhihu.com/p/39293150

 

 

 [译]为什么选用 GraphQL:它的优点、缺点和备选方案 - 知乎 https://zhuanlan.zhihu.com/p/39293150

[译]为什么选用 GraphQL:它的优点、缺点和备选方案 - 知乎 https://zhuanlan.zhihu.com/p/39293150

 

 

 
 
 
posted @ 2020-04-23 23:47  papering  阅读(692)  评论(0编辑  收藏  举报