GraphQL
GraphQL是由Facebook开发的查询语言,允许客户端精确指定所需数据,解决传统REST API的过度获取和不足获取问题。
GraphQL特点
灵活查询
客户端精确指定需要的数据字段
单一端点
所有操作通过单一端点进行
强类型系统
Schema定义确保类型安全
实时功能
内置subscriptions支持实时数据
查询示例
// GraphQL查询示例
query GetUserWithPosts($userId: ID!) {
user(id: $userId) {
id
name
email
posts {
id
title
content
createdAt
comments {
id
content
author {
name
}
}
}
}
}
// 对应的mutation(修改操作)
mutation CreatePost($input: PostInput!) {
createPost(input: $input) {
id
title
content
author {
id
name
}
}
}