我是apollo-server
世界的新手,所以也许我做错了事。
apollo-server
中,的意思是DataSource
由ApolloServer
创建和初始化。但我也想访问DataSource
koa
中的一些middleware
。假设我有一个名为DataSource
的{{1}},这就是我用UserDataSource
创建它的方式:
ApolloServer
此后,我可以访问const server = new ApolloServer({
typeDefs,
resolvers,
dataSources:function(){
return {
user: new UserDataSource(),
};
},
});
// this is my middleware
async function auth(ctx, next){
// Here I need to access `UserDataSource`
// pass control down to apollo-server
await next();
}
// koa server
const app = new Koa();
app.use(auth);
server.applyMiddleware({ app });
中的dataSources.user
。但是其他一些resolvers
也需要访问middleware
。是否有一些有关如何实现这一目标的官方指南?
PS ,也许我可以在一个UserDataSource
中手动创建所有数据源,然后将它们分配给middleware
。但是我认为这是一个小技巧。