GraphQL语句
语句含义:查询Nodes下面的fields的类型(ofType)以及描述,然后再获取子fields的所有fileds
比如:Nodes包含Products和productpushtime,该语句可以查询出Products,productpushtime的fields和描述
query NodeType{
__type(name:"Nodes"){
name
description
fields {
name
description
type{
name
ofType{
name
description
fields{
name
description
}
}
}
}
}
}
返回结果
{
"data": {
"__type": {
"name": "Nodes",
"description": "所有实体",
"fields": [
{
"name": "products",
"description": "产品列表",
"type": {
"name": null,
"ofType": {
"name": "ProductSerializer",
"description": "产品",
"fields": [
{
"name": "id",
"description": "产品id"
},
{
"name": "uid",
"description": "产品uid"
},
{
"name": "create_time",
"description": "产品创建时间"
},
{
"name": "name",
"description": "产品名称"
},
{
"name": "total_deadline",
"description": "产品期限"
},
{
"name": "total_scale",
"description": "产品规模"
},
{
"name": "usage",
"description": "产品用途"
}
]
}
}
},
{
"name": "product_push_times",
"description": "产品推送时间列表",
"type": {
"name": null,
"ofType": {
"name": "ProductPushTimeSerializer",
"description": "产品推送时间",
"fields": [
{
"name": "id",
"description": "产品推送时间id"
},
{
"name": "uid",
"description": "产品推送时间uid"
},
{
"name": "create_time",
"description": "产品推送时间的创建时间"
},
{
"name": "name",
"description": "产品推送时间"
},
{
"name": "progress_str",
"description": "进度描述"
},
{
"name": "content",
"description": "产品推送时的描述"
}
]
}
}
}
]
}
}
}
语句2:返回最外层的node的fields
query typeQuery {
__schema {
queryType {
fields { name type{ fields { name description } } }
}
}
}
result:
{
"data": {
"__schema": {
"queryType": {
"fields": [
{
"name": "nodes",
"type": {
"fields": [
{
"name": "products",
"description": "产品列表"
},
{
"name": "product_push_times",
"description": "产品推送时间列表"
}
]
}
}
]
}
}
}
}