首页 文章

GraphQL - 嵌套方法

提问于
浏览
1

我是GraphQL的新手,想知道我是否可以为类型成员键入单独的方法

代码

var express = require('express');
var graphqlHTTP = require('express-graphql');

var { buildSchema } = require('graphql');

var schema = buildSchema(`
    type Query {
        beitraege: Beitrag
    }

    type Beitrag {
        beitr_name: String
        erst_name: String
    }
`);

var root = {

    // This is the part that does not work
    Beitrag: () => {

        beitr_name: () => {
            return "Foo";
        };

        erst_name: () =>  {
            return "Bar";
        }
    },

};

var app = express();

app.use("/graphql", graphqlHTTP({
    schema: schema,
    rootValue: root,
    graphiql: true,
}));

app.listen(3000, "0.0.0.0", () => {
    console.log("Started on port 3000");
});

这不起作用,因为GraphQL似乎不允许支持类型成员的单个方法 . 所以我在测试时得到 null . 我的问题是:

是否有可能以这种方式嵌套方法,或者每次进行查询时都必须返回两个字符串?

编辑:

在NodeJS GraphiQL中测试

输入查询

{
  beitraege {
    beitr_name
    erst_name
  }
}

输出

{
  "data": {
    "beitraege": null
  }
}

1 回答

  • 0

    弄错了:

    而不是 Beitrag: () => 它必须是 beitraege: () => ,因为我不想定义类型成员而是架构成员 . 我猜 .

相关问题