首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >GraphQL的query只返回所请求的字段的实现原理

GraphQL的query只返回所请求的字段的实现原理

作者头像
Jerry Wang
发布2019-08-14 14:35:32
8870
发布2019-08-14 14:35:32
举报

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

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

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

做个测试:

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

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

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

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

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

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019年08月12日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档