Obeta

1. GraphQL使用指南

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

GraphQL 使用指南(查询)

本 GraphQL 使用指南是基于 JavaScript,但是并不妨碍你理解它,所以其它语言的同学可以先从本教程开始理解和学习什么是 GraphQL 以及是否合适你.

介绍

GraphQL 是一个 Facebook 于 2012 开发出来且 2015 开源的应用层的查询语言,你需要在后台定义一个基于 GraphQL 的图形模式,然后你的客户端就可以查询他们想要的数据,而不需要后台重新定义一个接口返回你需要的数据.

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,当你完成此教程后,建议从此框架开始开发.

资料

  1. From REST to GraphQL
  2. learngraphql
  3. Facebook GraphQL
  4. awesome-graphql

个人随笔记录,内容不保证完全正确,若需要转载,请注明作者和出处.