GraphQL语句

这篇博客深入探讨了GraphQL查询语句的使用,特别是如何通过语句获取最外层node的fields信息,这对于理解GraphQL的数据获取机制至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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": "产品推送时间列表"
                }
              ]
            }
          }
        ]
      }
    }
  }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值