如何使用 graphql-compose 创建重用解析器

问题描述

Why do we need the Resolver?

解析器有助于只描述一次 CRUD 操作逻辑,然后在不同的场景中重用它们。对于 Query.authorById,从 findById 解析器提供其全部功能。对于 Post.author,您将 findById 解析器包装在应隐藏 id arg 的位置,其值将从 post.authorId 自动设置。为了包装解析器,graphql-compose 提供了一堆方法

我想做,但没有成功

// reuse resolvers "resolvers.js"
const {schemaComposer} = require('graphql-compose');
const find = schemaComposer.createResolver({
    name: 'find',kind: 'query',args: {
        filter: 'String',order: 'String'
    },resolve: async ({source,args,ctx,info}) => {
        console.log(source,info);
    }
});
module.exports = {find}
// objectType "types.js"
const {find} = require('../resolvers')
Users.addResolver(find);
Posts.addResolver(find);
// Queries "server.js"
schemaComposer.Query.addFields({
    users: UserTC.getResolver('find',[middleware.isAuth]),posts: PostTC.getResolver('find',});

这里有什么问题? 谢谢,

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)