Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Graphql-子解析器中的访问参数

Graphql-子解析器中的访问参数
EN

Stack Overflow用户
提问于 2018-01-22 13:37:36
回答 3查看 11.8K关注 1票数 17

我正在使用apollo-server和apollo-graphql-tools,我有以下模式

代码语言:javascript
运行
AI代码解释
复制
type TotalVehicleResponse {
  totalCars: Int
  totalTrucks: Int
}

type RootQuery {
  getTotalVehicals(color: String): TotalVehicleResponse
}

schema {
  query: RootQuery
}

解析器函数如下所示

代码语言:javascript
运行
AI代码解释
复制
{
  RootQuery: {
    getTotalVehicals: async (root, args, context) => {
      // args = {color: 'something'}
      return {};
    },
    TotalVehicleResponse: {
      totalCars: async (root, args, conext) => {
        // args is empty({}) here
        .........
        .........
      },
      totalTrucks: async (root, args, conext) => {
        // args is empty({}) here
        .........
        .........
      }
    }
  }
}

我的问题是,我如何访问

它在根解析器中可用(

)中的任何一个子解析器?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-01-22 14:11:35

请严格参考该字段的查询中提供的参数。如果要使子冲突解决程序可以使用这些值,只需从父冲突解决程序返回这些值即可。

代码语言:javascript
运行
AI代码解释
复制
{
  RootQuery: {
    getTotalVehicles: async (root, args, context) => {
      return { color: args.color };
    },
    TotalVehicleResponse: {
      totalCars: async (root, args, context) => {
        // root contains color here
      },
      totalTrucks: async (root, args, context) => {
        // root contains color here
      }
    }
  }
}
票数 22
EN

Stack Overflow用户

发布于 2018-01-22 14:38:54

如果您知道您正在使用

变量

除了接受的答案之外,还有另一种方法使用解析器函数的第四个参数:

..。

这个

参数包含一个字段

在其他字段中。此字段不严格包含父级的

,但是如果您的操作是使用传递给父解析器的变量执行的,那么您将可以通过所有相关解析器函数的info.variableValues访问这些变量。

因此,如果像这样调用您的操作,例如:

代码语言:javascript
运行
AI代码解释
复制
query GetTotalVehicalsOperation($color: String) {
  getTotalVehicals(color: $color) {
    totalCars
    totalTrucks   
  }
}

..。使用变量:{color:'something'}

您将可以访问其他解析器中的变量:

代码语言:javascript
运行
AI代码解释
复制
{
  RootQuery: {
    getTotalVehicles: async (root, args, context, info) => {
      //info.variableValues contains {color: 'something'}          
      return {};
    },
    TotalVehicleResponse: {
      totalCars: async (root, args, context, info) => {
        //same here: info.variableValues contains {color: 'something'}
      },
      totalTrucks: async (root, args, context, info) => {
        //and also here: info.variableValues contains {color: 'something'}
      }
    }
  }
}
票数 17
EN

Stack Overflow用户

发布于 2020-07-17 10:42:54

要了解更多信息,请执行以下操作

变量

在GraphQL中使用

请参考这些链接(您可以在5分钟内浏览这些链接)

https://graphql.org/learn/queries/#operation-name

https://graphql.org/learn/queries/#variables

https://graphql.org/learn/queries/#fragments

https://graphql.org/learn/queries/#using-variables-inside-fragments

您将更好地掌握操作名称、变量、片段以及片段中变量的使用。

看看这个链接:

https://www.prisma.io/blog/graphql-server-basics-demystifying-the-info-argument-in-graphql-resolvers-6f26249f613a

它将帮助您更多地了解

信息

解析函数的参数。

票数 -5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48382897

复制
相关文章
argparse------用于命令行选项、参数和子命令的解析器
argparse模块使编写用户友好的命令行界面变得很容易。程序定义了它需要什么参数,argparse将找出如何从sys.argv中解析这些参数。argparse模块还自动生成帮助和使用消息,并在用户给程序提供无效参数时发出错误。
狼啸风云
2019/09/19
7.1K0
SpringBoot 中如何自定义参数解析器?
松哥原创的 Spring Boot 视频教程已经杀青,感兴趣的小伙伴戳这里-->Spring Boot+Vue+微人事视频教程
江南一点雨
2021/04/01
1.9K0
修改@RequestParam参数解析器
就是之前对方前段传进来的日期都是yymmdd , 然而我们这边接受的日期格式是YYY-MM-dd. 由于对方是甲方爸爸,很难改动。所以只能有我们这边改动。但是接口太多,参数也太多。写一个工具类也太麻烦。
分享干货的你
2021/04/06
1.2K0
Spring MVC的参数解析器---HandlerMethodArgumentResolver
最近我们的项目中的有一个获取客户ID的方法多次调用(数据库分离,每查一次客户ID,就要调用该方法一次),为了统一管理和减少代码的冗余,使用了Spring MVC的参数解析器,我们先看下官方描述
haoming1100
2019/02/15
1.2K0
parser.add_argument()用法——命令行选项、参数和子命令解析器
argparse是一个Python模块:命令行选项、参数和子命令解析器。通过使用这种方法,可以在使用
汀丶人工智能
2022/12/21
2.9K0
自定义参数解析器
开发中,app端给服务端会传基础参数、其他参数,一般基础参数app端都会传给服务端,其他参数则是根据不同接口传不同参数。若以表单的形式提交的数据:
LiosWong
2018/10/29
7800
深入分析 SpringMVC 参数解析器
松哥原创的 Spring Boot 视频教程已经杀青,感兴趣的小伙伴戳这里-->Spring Boot+Vue+微人事视频教
江南一点雨
2021/04/01
1.3K0
SpringMVC 自定义参数解析器.
有没有想过像 @RequestParam、@RequestBody 这些注解的工作原理呢?为什么 form 表单、application/json 的参数能够直接封装进 Bean 对象中呢?这就要说到 HandlerMethodArgumentResolver — 方法参数解析器,该接口有两个方法:
JMCui
2019/11/22
1.5K0
自定义注解(参数解析器)
如果咱们的接口,每次开始写之前都需要从token或者cookie中获取用户信息,这种方式虽然可行,但是咱们的代们就会很臃肿。那咱们是不是可以通过某种方式去统一做这些处理呢,而且还保证当我需要的时候才会去获取,不用的时候就不用获取呢,当然这是可以的。咱们可以使用注解和HandlerMethodArgumentResolver解析器去完成咱们需要的操作。
Java king
2023/02/21
7040
SpringBoot自定义参数解析器
今天我们来聊一聊SpringBoot中的参数解析器,这在某些场景下非常有用。一般来说,在一个Web请求里面参数要么是放在请求地址,要么就是放在请求体里面,极个别的会放在请求头中。
啃饼思录
2023/03/18
1.8K0
SpringBoot自定义参数解析器
手把手教你在 SpringBoot 中自定义参数解析器
TienChin 项目出视频啦~Spring Boot+Vue3,和松哥一起做一个完成率超 90% 的项目,戳戳戳这里-->TienChin 项目配套视频来啦。 ---- 在一个 Web 请求中,参数我们无非就是放在地址栏或者请求体中,个别请求可能放在请求头中。 放在地址栏中,我们可以通过如下方式获取参数: String javaboy = request.getParameter("name "); 放在请求体中,如果是 key/value 形式,我们可以通过如下方式获取参数: String javabo
江南一点雨
2022/05/12
7910
手把手教你在 SpringBoot 中自定义参数解析器
自定义Controller方法参数解析器
这个接口中有两个方法,supportsParameter用于判断是否通过本解析器解析该参数,resolveArgument用于编写解析的逻辑,返回的对象赋值给方法的相对应的参数。
DH镔
2019/12/19
8740
Spring自定义参数解析器设计
我们在开发Controller接口时经常会用到此类参数注解,那这些注解的作用是什么?我们真的了解吗?
程序猿川子
2023/05/04
6420
SpringBoot 自定义参数解析器 So Easy!
「松哥最近正在录制 TienChin 项目视频~采用 Spring Boot+Vue3 技术栈,里边会涉及到各种好玩的技术,小伙伴们来和松哥一起做一个完成率超 90% 的项目,戳戳戳这里-->TienChin 项目配套视频来啦。」 ---- 在一个 Web 请求中,参数我们无非就是放在地址栏或者请求体中,个别请求可能放在请求头中。 放在地址栏中,我们可以通过如下方式获取参数: String javaboy = request.getParameter("name "); 放在请求体中,如果是 key/val
江南一点雨
2022/07/12
6750
SpringBoot 自定义参数解析器 So Easy!
java中如何从主线程传参数到子线程
下面这个例子和上面一样,除了说是子线程要join主线程。本例中还教会了大家,如何从主线程传参数到子线程。
马克java社区
2021/04/20
1.6K0
java中如何从主线程传参数到子线程
理解python函数的参数访问方式
在《简书》上看到了一个讨论python函数参数传递的文章,仔细读了几遍,有些不是很明白的地方,于是有了此文,欢迎阅读讨论,如有错误,也欢迎指正:
qsjs
2020/06/09
6870
php经典:访问子字符串
<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title></title> </head> <body> <form method="post"> <input ty
贵哥的编程之路
2021/10/09
9470
LeetCode 811. 子域名访问计数
一个网站域名,如"discuss.leetcode.com",包含了多个子域名。 作为顶级域名,常用的有"com",下一级则有"leetcode.com",最低的一级为"discuss.leetcode.com"。 当我们访问域名"discuss.leetcode.com"时,也同时访问了其父域名"leetcode.com"以及顶级域名 “com”。
Michael阿明
2020/07/13
1.7K0
Rust 中的解析器组合因子(Parser combinators)
数据处理,是计算的支柱。要运行一个算法,首先,必须在内存中建立一些数据结构。然后,对数据结构进行填充,一般方法是获取一些原始数据,并将其加载到内存中。数据科学家处理原始数据时,要清理数据,并创建格式良好的数据集。然后由编程语言设计人员标记源代码文件,将它们解析为抽象语法树。最后, web 采集人员正确采集 HTML,并提取感兴趣的值。
niqin.com
2022/06/30
1.9K0
Rust 中的解析器组合因子(Parser combinators)
【RAPID】带参程序参数的访问模式
谢谢!
EdenChen
2018/07/25
1.2K0
【RAPID】带参程序参数的访问模式

相似问题

参数类型错误-GraphQL-参数没有类型?

116

子解析器中的GraphQL参数

11

graphql-组合,嵌套字段的触发器解析器

212

GraphQL-订阅:如何在订阅解析器中获取发布的对象

110

graphql-组合:需要输入类型的参数

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档