GraphQL 使用指南(查询)
本 GraphQL 使用指南是基于 JavaScript,但是并不妨碍你理解它,所以其它语言的同学可以先从本教程开始理解和学习什么是 GraphQL 以及是否合适你.
介绍
GraphQL
是一个 Facebook 于 2012 开发出来且 2015 开源的应用层的查询语言,你需要在后台定义一个基于 GraphQL 的图形模式,然后你的客户端就可以查询他们想要的数据,而不需要后台重新定义一个接口返回你需要的数据.
因为不需要更改你后台,所以这种方式比 REST API
方式更好,让我们可以在不同的客户端上灵活改变数据显示.
我们来看看简单的 GraphQL 查询:
{
post {
title,
content,
author {
name
},
comments {
content,
author {
name
}
}
}
}
后台返回的数据:
{
data:{
post:{
title: "query data",
content: "query data",
author: {
name: "query data"
},
comments: [
{
content: "query data",
author: {
name: "query data"
}
},
{
content: "query data",
author: {
name: "query data"
}
}
]
}
}
}
而如果你使用的是 REST 定义的接口,那么你可能需要使用多个接口才能获取到你想要的数据,否则需要跟后端进行交涉才能得到自己想要的数据格式.
GraphQL 是一个规范.
这意味着你可以在任何语言上实现 GraphQL.点击这里你可以查看更多关于 GraphQL 的介绍.Facebook 有一个对于JavaScript的 GraphQL 实现.
本教程只致力于理解 GraphQL,因此所有实现不一定能应用于生产,社区有挺多相关的生产框架,比如graphpack,当你完成此教程后,建议从此框架开始开发.