【发布时间】:2019-06-19 19:37:17
【问题描述】:
我是 GraphQL 新手,不确定这个问题是我缺乏 JavaScript 知识还是 GraphQL。
我的 GraphQL 查询外部服务,当响应是标量 json 对象时,一切正常。当外部服务返回一个 json 数组时,问题就来了。
这适用于单个 json 结果:
const transform = (json) => {
return {
id: json.id,
fullname: json.fullName,
email: json.email
}
但是对于这样的数组,映射代码是不够的。
[{id:...fullname:...email:...},{id:...etc},{id:...etc}]
现在我可以检测到返回是一个数组,我可以循环遍历数组,只是不确定如何映射到 GraphQLList。
所以在谷歌搜索后,我找到了 GraphQLList,但它也不起作用。
...snip from Schema...
UserData: {
type: GraphQLLIst(UserType),
与上面相同的映射代码。
message": "预期为 Iterable,但没有为字段 RootQueryType.investorData 找到一个。
但是我很困惑,因为控制台日志清楚地显示了一个json数组?
GraphQLSchema
const RootQueryType = new GraphQLObjectType({
name: 'RootQueryType',
fields:{
investorData: {
type: new GraphQLList(UserType),
description: 'Get investors by id',
args:{key: {type: GraphQLString} },
resolve: resolveInvestorData
}
}
}
})
【问题讨论】:
-
您能发布您的 GraphQL 架构吗?您为
investorData字段定义的类型是什么? -
@YevheniiHerasymchuk。架构已发布。
标签: javascript graphql