GraphQL模式查询无法识别解析器函数中传递的输入参数

时间:2019-01-12 10:38:02

标签: node.js graphql

我在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游乐场输入的输入。

请帮助我了解我要去哪里哪里以及如何纠正此问题。

1 个答案:

答案 0 :(得分:1)

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

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