Javascript 如何在使用buildSchema时访问字段解析程序中父解析程序的值?
当我们使用graphqlHTTP时,传递给resolve方法的第一个参数实际上是客户机查询传递的参数,而不是根查询。这对于查询解析器来说很好。但对于字段解析器需要知道父级值的用例,如何实现这一点Javascript 如何在使用buildSchema时访问字段解析程序中父解析程序的值?,javascript,graphql,graphql-js,express-graphql,Javascript,Graphql,Graphql Js,Express Graphql,当我们使用graphqlHTTP时,传递给resolve方法的第一个参数实际上是客户机查询传递的参数,而不是根查询。这对于查询解析器来说很好。但对于字段解析器需要知道父级值的用例,如何实现这一点 type Person { name: String, cityId: String, city: City, } 在上面的场景中,我希望city是一个字段解析器,它需要访问cityId,cityId是父类型上的一个属性。我假设这应该作为参数传递给字段解析器,但事实并非如此。
type Person {
name: String,
cityId: String,
city: City,
}
在上面的场景中,我希望city是一个字段解析器,它需要访问cityId,cityId是父类型上的一个属性。我假设这应该作为参数传递给字段解析器,但事实并非如此。
有没有办法做到这一点
type Person {
name: String,
cityId: String,
city: City,
}
我发现当使用对象声明模式时也可以这样做,在这种情况下,传递给解析器函数的第一个值是root。简短回答:
通过根值传递解析函数只起作用,因为它依赖于默认的解析程序行为,并且只适用于根级别的字段。不幸的是,如果使用buildSchema
,提供解析器的唯一方法是通过根值
你的选择是:
resolve
函数,该resolve函数将获得所有四个参数(父值、参数、上下文和信息)。你可以举一些例子graphql工具中的makeExecutableSchema
生成GraphQLSchema实例makeExecutableSchema
允许您轻松地为任何字段插入解析器,并提供许多其他功能。可以找到有关如何以这种方式生成模式的更多信息
express graphql
,该服务器在引擎盖下使用makeExecutableSchema
,并提供了一些express graphql
没有的附加功能。了解如何开始buildSchema
,提供解析器的唯一方法是通过根值
你的选择是:
resolve
函数,该resolve函数将获得所有四个参数(父值、参数、上下文和信息)。你可以举一些例子graphql工具中的makeExecutableSchema
生成GraphQLSchema实例makeExecutableSchema
允许您轻松地为任何字段插入解析器,并提供许多其他功能。可以找到有关如何以这种方式生成模式的更多信息
express graphql
,该服务器在引擎盖下使用makeExecutableSchema
,并提供了一些express graphql
没有的附加功能。了解如何开始谢谢。没有明确的来源来获取此信息。非常感谢。没有明确的来源来获取此信息。