首先定义一个Product类型的对象,拥有id,name,price等基本字段:

然后定义一个query,输入参数为id,返回的类型正是Product:

这个query的实现,我简单的给product的price字段生成一些随机数:

做个测试:

输入查询结构,我只请求了id和name字段:

query {product(id:"5") {idname}
}

而GraphQL也确实按照了我的期望,只返回id和name的值。GraphQL背后是如何实现这个逻辑的?

注意这个名为completeObjectValue的调用栈里的collectandExecuteSubfields方法:

解析出来,当前请求的字段为id和name:

在这个executeFields的方法里,根据请求的字段拼接最后的响应结构:

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

GraphQL的query只返回所请求的字段的实现原理相关推荐

  1. php mysql只获取一条数据_php mysql 查询只返回第一条数据

    php mysql 查询只返回第一条数据 $search = mysql_query("select * from `info`"); $search = mysql_fetch_ ...

  2. php if foreach个数记录,php foreach循环只返回数组中第一次迭代的值

    我似乎无法确定为什么我的foreach循环能够循环所有5个生成的ProductionOrderID,但只返回第一个ID的数据. 我的理解是数组正确循环,因为你可以在这里看到当前结果:https://i ...

  3. php如何返回数据请求数据格式化,PHP以json或xml数据格式返回请求数据的封装代码...

    现在主流的数据格式无非就是json和xml,下面我们来看看如何用php来封装一个返回这两种格式数据的类,下面青岛星网跟大家一起分享. 1.以json格式返回数据 json格式返回数据比较简单,直接将我 ...

  4. 【转】 asp.net从视频文件中抓取一桢并生成图像文件的方法 实现多语言本地化应用程序 自动返回上次请求页面...

    asp.net从视频文件中抓取一桢并生成图像文件的方法 http://www.bianceng.cn/webkf/aspx/201012/21428.htm WebUIValidation.js ht ...

  5. fiddler filters 使用(fiddler只显示指定请求,fiddler不显示指定请求,即filter请求过滤)转自:http://blog.csdn.net/notejs/article/

    fiddler filters 使用(fiddler只显示指定请求,fiddler不显示指定请求,即filter请求过滤) Fiddler 有一个filters可以很好的帮助我们只显示我们关系的请求或 ...

  6. oracle 行数大于一时,oracle – PL / SQL ORA-01422:精确的提取返回超过请求的行数

    我得到这个错误我不知道是什么错了. "宣布 * 第1行出错 ORA-01422:精确提取返回超过请求的行数 ORA-06512:在第11行" 这是我的代码 DECLARE rec_ ...

  7. linux search用法,在Linux中使用ldapsearch只返回一个值

    使用OPENLDAP服务器我想用ldapsearch从中检索信息.我创建了一个名为iduriclass的自定义类,该类用于存储id和uri.在我的ldapsearch命令中,我希望它只返回指定id的u ...

  8. 2-9 prev + next选择器 “远亲不如近邻” 返回且只返回唯一-个元素。 而通过prev + next选择器就可以查找与“prev”元素紧邻的下一个“next”元素...

    prev + next选择器 俗话说"远亲不如近邻",而通过prev + next选择器就可以查找与"prev"元素紧邻的下一个"next" ...

  9. 谷歌浏览器F12抓包如何过滤只显示接口请求不显示图片、js那些请求

    谷歌浏览器F12抓包如何过滤只显示接口请求不显示图片.js那些请求

最新文章

  1. CImage类显示图片
  2. javascript --- [有趣的条件]双等号的隐式调用和数据劫持
  3. ML.NET 0.8特性简介
  4. CentOS7 下调教mysql记实 之一
  5. python代码怎么变成软件_Python变成技术
  6. QT中串口通信程序(转)
  7. linux 命令美丽,美丽的程序猿-Linux下那些查找文件的小技巧-find
  8. EntityFramework 事务的使用
  9. PR开场片头视频模板 多帧城市闪点社交媒体短视频pr模板
  10. 北京地区中波频率表2015版 (转载)
  11. 群晖 nas docker 时间校准
  12. ElK STACK的简要分析
  13. python语言的开题报告怎么写_开题报告怎么写
  14. 解决linux 上网速度慢的问题
  15. 百度云服务器上安装docker步骤
  16. caffe 人脸关键点检测_密集人脸关键点检测
  17. 【万里征程——Windows App开发】SemanticZoom视图切换
  18. android打败苹果,苹果iOS打败安卓的另一面:配件多于Android
  19. 全国计算机电脑系统有问题吗,笔记本重装系统对电脑有影响吗
  20. storm的容错机制

热门文章

  1. centos 5.0 编译安装apache 2.2.6+php5.2.5+mysql5.0.46+ZEND
  2. linux命令详解:file命令
  3. hdu 2111 Saving HDU (DP)
  4. Microsoft Windows Workflow Foundation 入门:开发人员演练
  5. [转载]VC++程序员应当如何阅读ADO文档
  6. Hotspot GC Root 对应调用链
  7. 文献记录(part52)--基于度相关性的病毒传播模型及其分析
  8. 文献记录(part21)--Gestalt laws based tracklets analysis for human crowd understanding
  9. Django从理论到实战(part8)--URL中添加参数
  10. 如何在 SAP 电商云 Spartacus UI 中创建新的页面