Я делаю это с apollo-server-express@1.3.2. Я еще не перешел на 2, и я не делаю коа, но я предполагаю, что это будет примерно то же самое. Если нет, надеюсь, это хотя бы поможет.
const { graphqlExpress } = require('apollo-server-express')
let schema = loadRemoteSchemas() // this loads it on start-up
app.use(async (req, res) => {
return {
schema: await schema,
}
}
app.use('refresh', async (req, res) => {
// some middleware that does stuff and changes the `schema` pointer
})