我正在创建一个API,我想根据该用户的喜好动态创建多个graphql端点,而无需重新启动服务器。
通常来说,这很简单,用户将指定graphql模式和解析器,并在用户按下按钮以生成位于mydomain / randomString下的graphql端点
到目前为止,我唯一能提供的代码是如何在expressjs应用程序中创建graphql端点,该端点发生在nodejs服务器启动时运行的初始文件之一上。
const {ApolloServer, gql} = require('apollo-server-express');
const typeDefs = gql(fs.readFileSync('./server/graphql/schema.graphql', {encoding: 'utf-8'}));
const resolvers = require ('./server/graphql/resolvers');
const graphqlServer = new ApolloServer({
typeDefs
,resolvers
,engine: {
apiKey: "aRandomString"
}
,introspection: true
// ,context: ({req}) => ({user: req.user && db.users.get(req.user.sub)})
});
用户生成端点后,他/她将能够在该graphql端点上进行查询。