[英]How can I define resolver for object type in graphql-js?
我的應用程序中有許多 graphql 類型。
我使用 graphql-js 來構建它們。
// example
const TruckDriver: GraphQLObjectType = new GraphQLObjectType({
name: 'TruckDriver',
fields: () => ({
id: { type: GraphQLString },
}),
})
然后我在不同的查詢和突變中導入這些類型來定義返回值的類型。
但是我的解析器不返回對象,它們返回字段信息位於嵌套屬性“信息”中的類的實例。 例如上面的解析器將返回
{
info: {
id: '123'
}
...
}
我想在我的類型中添加解析器,但我發現類型沒有解析器。
如何輕松實現 object 類型的字段數據解析邏輯?
您可以為每個單獨的字段指定一個解析器,如下所示:
const TruckDriver: GraphQLObjectType = new GraphQLObjectType({
name: 'TruckDriver',
fields: () => ({
id: {
type: GraphQLString
resolve: truck => truck.info.id
},
}),
})
或修改 Query 和 Mutation 字段的解析器以返回適當形狀的對象。 就像是
async function resolve () {
const trucks = await getTrucks()
return trucks.map(truck => truck.info)
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.