fbpx
维基百科

GraphQL

GraphQL是一个开源的,面向API而创造出来的数据查询操作语言以及相应的运行环境。[2] 于2012年仍处于Facebook内部开发阶段,直到2015年才公开发布。 2018年11月7日,Facebook将GraphQL项目转移到新成立的GraphQL基金会(隶属于非营利性的Linux基金会)。[3][4]

GraphQL
開發者Facebook及社区
首次发布2015年9月14日 (2015-09-14)
源代码库github.com/facebook/graphql
编程语言JavaScriptRubyScala和其他各种语言中实现。
操作系统跨平台
网站graphql.org

GraphQL相较于REST以及其他web service架构提供了一种更加高效、强大和灵活的开发web APIs的方式。它通过由客户端根据所需定义数据结构,同时由服务端负责返回相同数据结构的对应数据的方式避免了服务端大量冗余数据的返回,但与此同时也意味着这种方式不能有效利用起查询结果的web缓存。GraphQL这种查询语言所带来的灵活性和丰富性的同时也增加了复杂性,导致简单的APIs有可能并不适合这种方式。[5][6][7]

GraphQL支持数据读取、写入(操作)和数据变更订阅(实时更新)。[8]

主要的GraphQL客户端有Apollo Client[9] 和 Relay.[10] GraphQL的服务端在多个语言都有实现包括Haskell, JavaScript, Python,[11] Ruby, Java, C#, Scala, Go, Elixir,[12] Erlang, PHP, R,和 Clojure.

2018年2月9日GraphQL的部分模式定义语言(SDL)规范制定完成。

例子 编辑

POST英语POST (HTTP)请求:

{ orders { id productsList { product { name price } quantity } totalAmount } } 

响应:

{  "data": {  "orders": [  {  "id": 1,  "productsList": [  {  "product": {  "name": "orange",  "price": 1.5  },  "quantity": 100  }  ],  "totalAmount": 150  }  ]  } } 

参见 编辑

  • Query by Example英语Query by Example

参考文献 编辑

  1. ^ GraphQL June 2018 Release Notes. [26 March 2019]. (原始内容于2020-10-16). 
  2. ^ . [2018-11-08]. (原始内容存档于2016-04-26). 
  3. ^ Facebook’s GraphQL gets its own open-source foundation. TechCrunch. [2018-11-07]. (原始内容于2019-01-22) (美国英语). 
  4. ^ . The Linux Foundation. 2018-11-06 [2018-11-07]. (原始内容存档于2019-01-28) (美国英语). 
  5. ^ . Phil Sturgeon. [2018-11-25]. (原始内容存档于2019-04-08) (英国英语). 
  6. ^ . Honest Engineering. 2018-08-04 [2018-11-26]. (原始内容存档于2018-11-26) (美国英语). 
  7. ^ . Howto GraphQL. [2018-07-04]. (原始内容存档于2018-07-05). 
  8. ^ . facebook.github.io. Facebook. [2018-07-04]. (原始内容存档于2018-07-18). 
  9. ^ . [2019-01-24]. (原始内容存档于2018-07-20). 
  10. ^ . [2019-01-24]. (原始内容存档于2019-01-29). 
  11. ^ . graphene-python.org. [2017-06-18]. (原始内容存档于2015-10-12). 
  12. ^ . [2018-07-19]. (原始内容存档于2018-07-06). 

外部链接 编辑

  • 官方网站
  • List of public GraphQL APIs (页面存档备份,存于互联网档案馆

graphql, 此條目翻譯品質不佳, 2018年11月8日, 翻譯者可能不熟悉中文或原文語言, 也可能使用了機器翻譯, 請協助翻譯本條目或重新編寫, 并注意避免翻译腔的问题, 明顯拙劣的翻譯請改掛, href, template, html, class, redirect, title, template, href, wikipedia, html, class, redirect, title, wikipedia, 提交刪除, 此條目可参照英語維基百科相應條目来扩充, 若您熟悉来源语言和主题, 请协助参考. 此條目翻譯品質不佳 2018年11月8日 翻譯者可能不熟悉中文或原文語言 也可能使用了機器翻譯 請協助翻譯本條目或重新編寫 并注意避免翻译腔的问题 明顯拙劣的翻譯請改掛 a href Template D html class mw redirect title Template D d a a href Wikipedia CSD html G13 class mw redirect title Wikipedia CSD G13 a 提交刪除 此條目可参照英語維基百科相應條目来扩充 若您熟悉来源语言和主题 请协助参考外语维基百科扩充条目 请勿直接提交机械翻译 也不要翻译不可靠 低品质内容 依版权协议 译文需在编辑摘要注明来源 或于讨论页顶部标记 a href Template Translated page html title Template Translated page Translated page a 标签 GraphQL是一个开源的 面向API而创造出来的数据查询操作语言以及相应的运行环境 2 于2012年仍处于Facebook内部开发阶段 直到2015年才公开发布 2018年11月7日 Facebook将GraphQL项目转移到新成立的GraphQL基金会 隶属于非营利性的Linux基金会 3 4 GraphQL開發者Facebook及社区首次发布2015年9月14日 2015 09 14 源代码库github wbr com wbr facebook wbr graphql编程语言在 JavaScript Ruby Scala和其他各种语言中实现 操作系统跨平台网站graphql wbr orgGraphQL相较于REST以及其他web service架构提供了一种更加高效 强大和灵活的开发web APIs的方式 它通过由客户端根据所需定义数据结构 同时由服务端负责返回相同数据结构的对应数据的方式避免了服务端大量冗余数据的返回 但与此同时也意味着这种方式不能有效利用起查询结果的web缓存 GraphQL这种查询语言所带来的灵活性和丰富性的同时也增加了复杂性 导致简单的APIs有可能并不适合这种方式 5 6 7 GraphQL支持数据读取 写入 操作 和数据变更订阅 实时更新 8 主要的GraphQL客户端有Apollo Client 9 和 Relay 10 GraphQL的服务端在多个语言都有实现包括Haskell JavaScript Python 11 Ruby Java C Scala Go Elixir 12 Erlang PHP R 和 Clojure 2018年2月9日GraphQL的部分模式定义语言 SDL 规范制定完成 目录 1 例子 2 参见 3 参考文献 4 外部链接例子 编辑POST 英语 POST HTTP 请求 orders id productsList product name price quantity totalAmount 响应 data orders id 1 productsList product name orange price 1 5 quantity 100 totalAmount 150 参见 编辑Query by Example 英语 Query by Example 参考文献 编辑 GraphQL June 2018 Release Notes 26 March 2019 原始内容存档于2020 10 16 GraphQL A query language for APIs 2018 11 08 原始内容存档于2016 04 26 Facebook s GraphQL gets its own open source foundation TechCrunch 2018 11 07 原始内容存档于2019 01 22 美国英语 The Linux Foundation Announces Intent to Form New Foundation to Support GraphQL The Linux Foundation The Linux Foundation 2018 11 06 2018 11 07 原始内容存档于2019 01 28 美国英语 GraphQL vs REST Overview Phil Sturgeon 2018 11 25 原始内容存档于2019 04 08 英国英语 Why use GraphQL good and bad reasons Honest Engineering 2018 08 04 2018 11 26 原始内容存档于2018 11 26 美国英语 GraphQL Fundamentals Howto GraphQL 2018 07 04 原始内容存档于2018 07 05 GraphQL facebook github io Facebook 2018 07 04 原始内容存档于2018 07 18 Apollo Client The flexible production ready GraphQL client for React and all JavaScript and native apps 2019 01 24 原始内容存档于2018 07 20 Relay A JavaScript framework for building data driven React applications 2019 01 24 原始内容存档于2019 01 29 Graphene graphene python org 2017 06 18 原始内容存档于2015 10 12 Absinthe The GraphQL toolkit for Elixir 2018 07 19 原始内容存档于2018 07 06 外部链接 编辑官方网站 List of public GraphQL APIs 页面存档备份 存于互联网档案馆 取自 https zh wikipedia org w index php title GraphQL amp oldid 75610880, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。