GraphQL简介

Posted 前端刊物

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GraphQL简介相关的知识,希望对你有一定的参考价值。

正文从这里开始

GraphQL简介

GraphQL 是一个由Facebook提出的 应用层查询语言. 使用 GraphQL, 你可以基于图模式定义你的后端. 然后客户端就可以请求所需要的数据。

因此, 你不必因为客户端数据需求的变更而改变你的后端. 这解决了管理REST API中的最大的问题.

GraphQL同样能够让客户端程序高效地批量获取数据. 例如, 看一看下面这个GraphQL请求:

{
 latestPost {
   _id,
   title,
   content,
   author {
     name
   },
   comments {
     content,
     author {
       name
     }
   }
 }
}
作者:时见疏星
链接:https://www.jianshu.com/p/6721b66c5ac8
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

这个 GraphQL 请求获取了一篇博客文章和对应评论与作者信息的数据. 下面是请求的返回结果:

{
 "data": {
   "latestPost": {
     "_id": "03390abb5570ce03ae524397d215713b",
     "title": "New Feature: Tracking Error Status with Kadira",
     "content": "Here is a common feedback we received from our users ...",
     "author": {
       "name": "Pahan Sarathchandra"
     },
     "comments": [
       {
         "content": "This is a very good blog post",
         "author": {
           "name": "Arunoda Susiripala"
         }
       },
       {
         "content": "Keep up the good work",
         "author": {
           "name": "Kasun Indi"
         }
       }
     ]
   }
 }
}
作者:时见疏星
链接:https://www.jianshu.com/p/6721b66c5ac8
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

如果你使用的是REST的话,你需要调用多个REST API的请求才能获取这些信息。

GraphQL是一个规范

因此, 它可以用于任何平台或语言. 它有一个参考的实现 javascript, 由Facebook维护. 还有许多社区维护的实现有许多种语言.

这里是它的规范:http://facebook.github.io/graphql/




以上是关于GraphQL简介的主要内容,如果未能解决你的问题,请参考以下文章

GraphQL 片段的片段

盖茨比没有找到graphql片段

在graphql中嵌套片段

nestjs 是不是支持 graphql 片段?

重用 GraphQL 片段

GraphQL 片段 JSON 格式