我是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
}
}
答案 0 :(得分:0)
弄错了我的意思:
而不是Beitrag: () =>
它必须是beitraege: () =>
,因为我不想定义类型成员而是定义成员。我想。