File tree Expand file tree Collapse file tree 1 file changed +79
-1
lines changed Expand file tree Collapse file tree 1 file changed +79
-1
lines changed Original file line number Diff line number Diff line change 1
- # leancloud-graphql
1
+ # LeanCloud GraphQL
2
+ 运行在云引擎上的第三方 GraphQL 支持,允许你用 GraphQL 查询 LeanCloud 云存储中的所有数据。
3
+
4
+ ## 部署到云引擎
5
+
6
+ [ ![ Deploy to LeanEngine] ( http://ac-32vx10b9.clouddn.com/109bd02ee9f5875a.png )] ( https://leancloud.cn/1.1/engine/deploy-button )
7
+
8
+ ## GraphQL
9
+
10
+ GraphQL 是 FaceBook 开源的一套查询语言,你可以用它定义数据的格式和获取方法(这就是 leancloud-graphql 做的工作,它会自动将你在 LeanCloud 的数据结构转换为 GraphQL 的 Schema),然后便可以在客户端以一种非常灵活的语法来获取数据。
11
+
12
+ GraphQL 在客户端几乎不需要什么 SDK,你可以花几行代码封装一个工具函数:
13
+
14
+ ``` javascript
15
+ function requestGraphQL (query ) {
16
+ return fetch (' /' , {
17
+ method: ' POST' ,
18
+ headers: {
19
+ ' Content-Type' : ' application/graphql'
20
+ },
21
+ body: query
22
+ }).then ( res => {
23
+ return res .json ();
24
+ }).then ( result => {
25
+ return result .data ;
26
+ });
27
+ }
28
+
29
+ requestGraphQL (`
30
+ query {
31
+ Todo {
32
+ title, priority
33
+ }
34
+ }
35
+ ` )
36
+ ```
37
+
38
+ 结果:
39
+
40
+ ``` javascript
41
+ {
42
+ Todo: [
43
+ {title: " 紧急 Bug 修复" , priority: 0 },
44
+ {title: " 打电话给 Peter" ,priority: 5 },
45
+ {title: " 还信用卡账单" , priority: 10 }
46
+ ]
47
+ }
48
+ ```
49
+
50
+ 我们也在云引擎的根路径(本地调试时为 < http://127.0.0.1:3000/ > )用 express-graphql 提供了一个支持自动补全等功能的 GraphQL 控制台,你可以在这里测试你的查询。
51
+
52
+ 我们会应用客户端发来的 sessionToken,确保在用户的权限范围内进行查询。你可以从我们的 JavaScript SDK 上获取 sessionToken 并随着请求发送,修改 requestGraphQL:
53
+
54
+ ``` diff
55
+ headers: {
56
+ 'Content-Type': 'application/graphql',
57
+ + 'X-LC-Session': AV.User.current() && AV.User.current().getSessionToken()
58
+ },
59
+ ```
60
+
61
+ ## 获取数据
62
+
63
+ TODO
64
+
65
+ ## 查询
66
+
67
+ TODO
68
+
69
+ ## 关系
70
+
71
+ TODO
72
+
73
+ ## 创建、更新和删除
74
+
75
+ TODO
76
+
77
+ ## 进阶话题
78
+
79
+ TODO
You can’t perform that action at this time.
0 commit comments