3

我正在使用 GraphQL 并尝试在解析器层中获取请求和响应对象。目前,我正在使用 express-graphql。我遵循了 apollo-server 的参考资料并尝试应用相同的

https://github.com/apollographql/apollo-server/issues/420https://graphql.org/learn/execution/

但是,在解析器层中,我得到了不匹配订单的值。参数 obj 具有我们需要获取数据的输入,args 具有请求和响应,上下文具有字段节点、路径、模式等,并且 info 显示为未定义。

  1. 我不确定 express-graphql 是否遵循不同的顺序,或者 GraphQLHttp 是否以不同的顺序将参数发送到解析器,以及使用 obj 参数的正确方法。
  2. 如何在解析器层中设置标题

代码:

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);
  },
}
4

0 回答 0