阿波罗服务器如何访问Koa / Express中间件中的数据源

时间:2019-09-09 10:01:10

标签: graphql apollo apollo-server

我是apollo-server世界的新手,所以也许我做错了事。

apollo-server中,

的意思是DataSourceApolloServer创建和初始化。但我也想访问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。但是我认为这是一个小技巧。

0 个答案:

没有答案