javascript - 如何使用相同的参数查询 Graphql 2 对象

标签 javascript ecmascript-6 graphql apollo

我正在实现 GraphQL,以使用网络驱动程序从网络查询数据。

我的问题是我无法弄清楚如何使用一个参数作为 2 个不同查询的输入。所以基本上它是从 2 个不同的站点查询数据,并具有相同的输入,通常是 4 个字符符号。

我希望我的查询是什么样的。

{
   Webpage1(symbol:"AABC"){
       data_from_site,
       some_other_data
       Webpage2(symbol:"AABC"){ ##get rid of this Double attribute entry
          data_from_page2
       }  
   }
}

如何仅传递一个参数 be 并从两个站点获取数据? 因此它将位于根上下文中供解析器使用。

我对 GraphQL 相当陌生,并尝试定义单独的 GraphQLObjectType 来解决这个问题。但我真正想要的是同一对象中的统一数据以及从父对象解析的参数。

var schema = new GraphQLSchema({
    query: new GraphQLObjectType({
        name: 'Query',
        fields: {
            Webpage1: {
                type: Website1,
                args: {
                    symbol: { type: GraphQLString },
                    //date: { type: GraphQLString }

                },
                resolve: function (_, { symbol }) {
                    return {
                        symbol
                    };
                }
            },
            Webpage2: {
                type: History,
                resolve: function (_, { symbol }) {
                    return {
                        symbol
                    };
                }
            }
        }
    })
})

最佳答案

如果我正确理解您的问题,您可以保持架构不变,并在发送查询时使用变量:

query MyQuery($mySymbol: String){
  Webpage1(symbol:$mySymbol) {
    data_from_site
    some_other_data
  }
  Webpage2(symbol:$mySymbol) {
    data_from_page2  
  }
}

变量在文档顶部定义,作为操作定义的一部分。一旦定义,它们就可以在文档中任何需要使用相同类型文字值的地方使用任意多次。你可以查看官方关于变量的教程here和规范 here .

关于javascript - 如何使用相同的参数查询 Graphql 2 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56199362/

相关文章:

javascript - CSS3 box-shadow inset 痛苦的性能 killer

javascript - 如何使用 ES6 语法在 node.js 中使用 socket.io

node.js - 可以对 type-graphql 中的结果列表元素进行计数

javascript - 无法对 Gatsby 站点中 Ant Design Table 中的列进行排序

来自数据库/文件的 Javascript 代码

javascript - 这两种说法有什么区别?

php - 使用 ajax/php/javascript 动态修改 texbox

javascript - 从 ES6 中的函数表达式访问类作用域

javascript - es6 Map 通过索引获取值

node.js - 如何使用 GraphQL 和 ApolloStack 解析联合/接口(interface)字段