GraphQL的query只返回所请求的字段的实现原理
首先定义一个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只返回所请求的字段的实现原理相关推荐
- php mysql只获取一条数据_php mysql 查询只返回第一条数据
php mysql 查询只返回第一条数据 $search = mysql_query("select * from `info`"); $search = mysql_fetch_ ...
- php if foreach个数记录,php foreach循环只返回数组中第一次迭代的值
我似乎无法确定为什么我的foreach循环能够循环所有5个生成的ProductionOrderID,但只返回第一个ID的数据. 我的理解是数组正确循环,因为你可以在这里看到当前结果:https://i ...
- php如何返回数据请求数据格式化,PHP以json或xml数据格式返回请求数据的封装代码...
现在主流的数据格式无非就是json和xml,下面我们来看看如何用php来封装一个返回这两种格式数据的类,下面青岛星网跟大家一起分享. 1.以json格式返回数据 json格式返回数据比较简单,直接将我 ...
- 【转】 asp.net从视频文件中抓取一桢并生成图像文件的方法 实现多语言本地化应用程序 自动返回上次请求页面...
asp.net从视频文件中抓取一桢并生成图像文件的方法 http://www.bianceng.cn/webkf/aspx/201012/21428.htm WebUIValidation.js ht ...
- fiddler filters 使用(fiddler只显示指定请求,fiddler不显示指定请求,即filter请求过滤)转自:http://blog.csdn.net/notejs/article/
fiddler filters 使用(fiddler只显示指定请求,fiddler不显示指定请求,即filter请求过滤) Fiddler 有一个filters可以很好的帮助我们只显示我们关系的请求或 ...
- oracle 行数大于一时,oracle – PL / SQL ORA-01422:精确的提取返回超过请求的行数
我得到这个错误我不知道是什么错了. "宣布 * 第1行出错 ORA-01422:精确提取返回超过请求的行数 ORA-06512:在第11行" 这是我的代码 DECLARE rec_ ...
- linux search用法,在Linux中使用ldapsearch只返回一个值
使用OPENLDAP服务器我想用ldapsearch从中检索信息.我创建了一个名为iduriclass的自定义类,该类用于存储id和uri.在我的ldapsearch命令中,我希望它只返回指定id的u ...
- 2-9 prev + next选择器 “远亲不如近邻” 返回且只返回唯一-个元素。 而通过prev + next选择器就可以查找与“prev”元素紧邻的下一个“next”元素...
prev + next选择器 俗话说"远亲不如近邻",而通过prev + next选择器就可以查找与"prev"元素紧邻的下一个"next" ...
- 谷歌浏览器F12抓包如何过滤只显示接口请求不显示图片、js那些请求
谷歌浏览器F12抓包如何过滤只显示接口请求不显示图片.js那些请求
最新文章
- CImage类显示图片
- javascript --- [有趣的条件]双等号的隐式调用和数据劫持
- ML.NET 0.8特性简介
- CentOS7 下调教mysql记实 之一
- python代码怎么变成软件_Python变成技术
- QT中串口通信程序(转)
- linux 命令美丽,美丽的程序猿-Linux下那些查找文件的小技巧-find
- EntityFramework 事务的使用
- PR开场片头视频模板 多帧城市闪点社交媒体短视频pr模板
- 北京地区中波频率表2015版 (转载)
- 群晖 nas docker 时间校准
- ElK STACK的简要分析
- python语言的开题报告怎么写_开题报告怎么写
- 解决linux 上网速度慢的问题
- 百度云服务器上安装docker步骤
- caffe 人脸关键点检测_密集人脸关键点检测
- 【万里征程——Windows App开发】SemanticZoom视图切换
- android打败苹果,苹果iOS打败安卓的另一面:配件多于Android
- 全国计算机电脑系统有问题吗,笔记本重装系统对电脑有影响吗
- storm的容错机制
热门文章
- centos 5.0 编译安装apache 2.2.6+php5.2.5+mysql5.0.46+ZEND
- linux命令详解:file命令
- hdu 2111 Saving HDU (DP)
- Microsoft Windows Workflow Foundation 入门:开发人员演练
- [转载]VC++程序员应当如何阅读ADO文档
- Hotspot GC Root 对应调用链
- 文献记录(part52)--基于度相关性的病毒传播模型及其分析
- 文献记录(part21)--Gestalt laws based tracklets analysis for human crowd understanding
- Django从理论到实战(part8)--URL中添加参数
- 如何在 SAP 电商云 Spartacus UI 中创建新的页面