引用资料:
概念
特点
Graph(业务建模为图)
QL(查询语言)
// GraphQL 查询
author(id: "7") {
id
name
avatarUrl
articles(limit: 2) {
name
urlSlug
}
}
// GraphQL 查询结果
{
"data": {
"author": {
"id": "7",
"name": "Robin Wieruch",
"avatarUrl": "https://domain.com/authors/7",
"articles": [
{
"name": "The Road to learn React",
"urlSlug": "the-road-to-learn-react"
},
{
"name": "React Testing Tutorial",
"urlSlug": "react-testing-tutorial"
}
]
}
}
}http://graphql.cn/
https://www.apollographql.com/
....
茴香豆的一百种写法🤔
创建一个服务器
在客户端调用Query
挂载到url端点
a)逐层resolve带来的N+1问题。
b)API层拆分难,业务耦合重。
c)重构难,与基于path定义的router相关的所有东西都得改。编码方式颠覆。
d)单url端点的http相关问题。如客户端缓存。
e)收敛权限。
b)考虑规模,是否需要动用graph。