我在GraphQL模式中定义了以下查询

type Query {
    getShowByName(showSchemaName: String!): String!
}


具有相应的解析器功能,如下所示

const resolvers = ()=>({
    Query:{

        getShowByName: function(args){
            console.log("out1"+args);
            console.log("out3"+args.showSchemaName);
            return "hardcoded return from getShowByName";
        },
    },
});


在graphql游乐场,我提供了以下输入

{
  getShowByName(showSchemaName:"input to getShowByName")
}


graphql游乐场提供了来自getShowByName的硬编码返回,作为游乐场页面中的输出,但是在终端中,我得到了未定义的args。因此,我无法解析从graphql游乐场输入的输入。

请帮助我了解我要去哪里哪里以及如何解决该问题。

最佳答案

解析器中的第一个参数是一个包含父解析器结果的对象。在您的情况下,根级别Query将收到undefined。相反,您应该从第二个参数中提取args

const resolvers = ()=> ({
    Query: {
        getShowByName: function(_, args) {
            console.log("out1" + args);
            console.log("out3" + args.showSchemaName);
            return "hardcoded return from getShowByName";
        },
    },
});

10-06 16:03