简介
GraphQL是一种API查询语言,是一个对自定义类型系统执行查询的服务端运行环境。GraphQL没有绑定任何的数据库或者存储引擎,反而是基于现存的代码和数据。
GraphQL服务通过定义类型和属性来创建,然后为在这些类型上的每个属性创建函数。例如,GraphQL服务告诉我们记录在user上的是(me),同时,用户的名字看起来像这样:
type Query {
me: User
}
type User {
id: ID
name: String
}
所有类型上的属性对应的函数:
function Query_me(request) {
return request.auth.user;
}
function User_name(user) {
return user.getName();
}
当GraphQL服务运行起来时(典型的是在一个web服务上的URL),可以发送GraphQL查询到验证和执行环节。接收到查询请求后,首先检查确定是否存在指定的类型和属性,然后执行对应的函数并返回结果。
例如查询:
{
me {
name
}
}
结果:
{
"me": {
"name": "Luke Skywalker"
}
}
学习过程:
1. GraphQL查询语言
2. 类型系统(type system)
3. GraphQL服务是怎样工作的
4. GraphQL最佳实践