参数排序以获取express graphql中的上下文

参数排序以获取express graphql中的上下文,graphql,graphql-js,express-graphql,Graphql,Graphql Js,Express Graphql,我正在使用GraphQL并尝试在解析器层中获取请求和响应对象。目前,我正在使用express graphql。我遵循了阿波罗服务器的参考资料,并尝试应用同样的方法 及 然而,在解析器层中,我得到的值顺序不匹配。 参数obj具有获取数据所需的输入,args具有请求和响应,上下文具有字段节点、路径、模式等,并且信息显示为未定义 我不确定expressgraphql是否遵循不同的顺序,或者GraphQLHttp是否以不同的顺序将参数发送给解析器,以及它使用obj参数的方法是否正确 如何在解析器层中设

我正在使用GraphQL并尝试在解析器层中获取请求和响应对象。目前,我正在使用express graphql。我遵循了阿波罗服务器的参考资料,并尝试应用同样的方法

然而,在解析器层中,我得到的值顺序不匹配。 参数obj具有获取数据所需的输入,args具有请求和响应,上下文具有字段节点、路径、模式等,并且信息显示为未定义

  • 我不确定expressgraphql是否遵循不同的顺序,或者GraphQLHttp是否以不同的顺序将参数发送给解析器,以及它使用obj参数的方法是否正确
  • 如何在解析器层中设置标题
  • 代码:

    index.js // imports rootSchema.js and resolver.js => rootSchema buit using buildSchema
    app.use("/api", (request, response)=>{ 
        return graphqlhttp({
            schema: rootSchema,
            rootValue : rootResolver,
            graphiql : appConfig.graphiQlEnabled,
            context : {
                request: {request, response},
                test: 'Example context value'
            }
        })(request, response);
    });
    
    
    //resolver.js
    const rootResolver = {
    login: async (obj, args, context, info) => {
    
        console.log("Obj: ", obj);
        console.log("Args: ", args);
        console.log("Context: ", context);
        console.log("Info: ", info);
    
        return "Amen!";
    
        //return await loginService.auth(credentials, context);
      },
    }
    
    IvanGoncharov写道:我们实际上有两种类型的解析器:1。在GraphQLObjectType字段中指定,并获取(父、参数、上下文、信息)2。在父级本身上指定的解析程序,在本例中,它们的原型是(args、context、info),您可以使用它访问父级。更清楚地解释了它提供了一个不使用graphql工具的解决方案