Maple's Blog.

GraphQL

字数统计: 219阅读时长: 1 min
2021/04/23

simple example

1
2
3
4
5
6
7
8
query {
aman {
id
ago: ago # 年龄
name
sex
}
}

字段 & 别名

1
2
3
4
5
6
7
8
9
10
11
12
query {
groups {
id
name
apis {
id
name
code: uri
}
}
}

参数

1
2
3
4
5
6
7
8
9
10
11
query {
groups(ids: [100000010, 100000011, 100000012]) {
id
name
apis {
id
name
code: uri
}
}
}

片断

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
fragment groupFields on Group {
id
name
apis {
id
name
description
code: uri
}
}

query {
SaaS: group(id: 100000010) {
...groupFields
}

Xinlingshou: group(id: 100000011) {
...groupFields
}
}

变量 & 默认变量

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
fragment groupFields on Group {
id
name
apis {
id
name
code: uri
}
}

query ($saasId: Int = 100000012, $xinlingshouId: Int = 100000013) {
SaaS: group(id: $saasId) {
...groupFields
}

Xinlingshou: group(id: $xinlingshouId) {
...groupFields
}
}

指令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
query ($saasId: Int, $xinlingshouId: Int, $withApi: Boolean!) {
SaaS: group(id: $saasId) {
id
name
apis @include(if: $withApi) {
id
name
code: uri
}
}

xinlingshou: group(id: $xinlingshouId) {
id
name
apis @skip(if: $withApi) {
id
name
code: uri
}
}
}

变更

1
2
3
4
5
6
7
mutation {
aman(name: "Bob", sex: "female", ago: 30) {
name
ago
sex
}
}

查询变更结果

1
2
3
4
5
6
7
8
query {
aman {
id
name
ago
sex
}
}
CATALOG
  1. 1. simple example
  2. 2. 字段 & 别名
  3. 3. 参数
  4. 4. 片断
  5. 5. 变量 & 默认变量
  6. 6. 指令
  7. 7. 变更