我的应用程序中有许多graphql类型。
我使用graphql-js来构造它们。
// example
const TruckDriver: GraphQLObjectType = new GraphQLObjectType({
name: 'TruckDriver',
fields: () => ({
id: { type: GraphQLString },
}),
})然后,我在不同的查询和突变中导入这些类型,以定义返回值的类型。
但是我的解析器不返回对象,它们返回类的实例,其中字段信息位于嵌套属性'info‘中。例如,上面的解析器将返回
{
info: {
id: '123'
}
...
}我想在我的类型中添加解析器,但我发现类型没有解析器。
如何轻松实现我的对象类型的字段数据解析逻辑?
发布于 2020-04-09 20:05:13
您可以为每个字段指定一个解析器,如下所示:
const TruckDriver: GraphQLObjectType = new GraphQLObjectType({
name: 'TruckDriver',
fields: () => ({
id: {
type: GraphQLString
resolve: truck => truck.info.id
},
}),
})或者修改查询和突变字段的解析程序,以返回具有适当形状的对象。就像这样
async function resolve () {
const trucks = await getTrucks()
return trucks.map(truck => truck.info)
}https://stackoverflow.com/questions/61118107
复制相似问题