【发布时间】:2020-02-21 13:11:10
【问题描述】:
我需要提供自定义自定义对象作为 GraphQL 解析器的输出。
这适用于带有 GraphQL 设置的 Node-Express 后端服务器。我尝试了 sequelized,但我正在测试一种新方法,我需要将一个对象作为输出传递给 graphQL。
const RootQueryType = new GraphQLObjectType({
name: "Query",
fields: {
Sample: {
type: SampleType,
args: {
sampleID: { type: GraphQLID }
},
resolve: async (parent, args) => {
try {
const result = await sql.connect(config).then(pool =>
pool
.request()
.input("sampleID", sql.Int, args.sampleID)
.query(
"SELECT * FROM samples WHERE sampleID = @sampleID"
)
);
const ASB = await result.recordsets[0];
console.log(ASB);
sql.close();
return ASB;
} catch (err) {
console.log(err);
sql.close();
return;
}
}
}
}
});
查询输出的结果是
[
{
sampleID: 1,
sampleText: 'sample1'
},
{
sampleID: 2,
sampleText: 'sample2'
}
]
当我返回普通对象时,即 ASB[0]
{
sampleID: 1,
sampleText: 'sample1'
}
我在 GraphQL 中获得输出,但是当返回整个 ASB 对象时,我无法获得输出。
【问题讨论】:
标签: javascript node.js sql-server express graphql