仅仅是规范,不是具体实现,需要各种语言来实现.
1. 字段(Fields):
①. 请求结构中包含了所预期结果的结构,这个就是字段.
a. 可以让请求发起者很清楚的知道自己想要什么.
②. 响应的结构和请求结构基本一致.
③. 举例:
{
hero: {
id
name
}
}
{
data: {
hero: {
id: 2000,
name: 'david'
}
}
}
2. 参数(Arguments):
①. 在查询数据时,传递的参数.
a. 语法:
(参数名: 参数值)
②. 举例:
{
hero(id: 100) {
id
name
}
}
3. 别名(Aliases):
①. 如果一次查询多个相同对象,但是值不同,需要用到别名,否则json的语法就不能通过了.
②. 举例:
{
aHero: hero(episode: AHero) {
name
}
bHero: hero(episode: BHero) {
name
}
}
4. 片段(Fragments):
①. 查询队的属相如果相同,可以采用片段的方式进行简化定义.
②. 举例:
leftComparison: hero(episode: EMPIRE) (
...comparisonFields
}
rightComparison: hero(episode: JEDI) (
...comparisonFields
)
// 单独
fragment comparisonFields on Character {
name
appearsIn
friends: {
name
}
}
标签:gpl,hero,name,comparisonFields,规范,查询,举例,episode,id
From: https://blog.51cto.com/u_16251183/8474180