我有一个像下面这样的graphql模式
const SellerjobtypeType = new GraphQLObjectType({
name: 'Sellerjobtype',
fields: () => ({
id: { type: GraphQLString },
sellerName: { type: GraphQLString },
sellerAdd: { type: GraphQLString },
status: { type: GraphQLString },
requestRaiseTime: { type: GraphQLString },
percent: { type: GraphQLString },
runtime: { type: GraphQLString },
jobid: { type: new GraphQLNonNull(GraphQLString) },
specialinstructions: { type: GraphQLString }
})
});
当我编写graphql服务器代码以获取SellerName的所有SellerjobtypeType时,我必须创建一个解析器端点。
sellerjobtype: {
type: SellerjobtypeType,
args: { id: { type: GraphQLString}},
resolve(parent, args) {
return Sellerjobtype.findById(args.id);
}
}
这将仅基于ID进行搜索
现在我想按SellerName进行搜索,我创建了另一个端点
sellerjobtype2: {
type: SellerjobtypeType,
args: { sellerName: { type: GraphQLString}},
resolve(parent, args) {
return myObj.findByName(args.sellerName);
}
}
如果必须搜索其他字段,则创建另一个端点。
这是否克服了不必创建多个端点的graphql目的。我想我做错了。请建议如何创建自定义终端节点,以根据SellerjobtypeType中的全部或部分字段来处理所有搜索