Graphql - Apollo Server - 热门更新架构

时间:2018-01-15 10:27:30

标签: node.js express graphql graphql-js apollo-server

我希望在我的apollo-server-express服务器上热重新加载我的GraphQL架构。任何人都会知道如何做到这一点?

我目前正在使用模式拼接来收集多个API的模式,但是我不希望每次这些模式更改时都重新启动我的应用程序。

我已经尝试寻找快速路线并将其移除但是这不起作用,我也试图在同一路线上再次呼叫graphQLExpress()并且没有更新它。

感谢您的帮助!

2 个答案:

答案 0 :(得分:2)

我稍微调试了<div class="row align-items-end">调用,它相当轻量级,只是使用提供的架构返回中间件函数。我能够通过包装它来确保它始终使用我的最新架构:

graphqlExpress

我目前正在使用本地/静态架构,因此文件监视器允许我根据需要更新let schema = createSchema(); app.use('/graphql', bodyParser.json(), function(req, res, next) { // ensure latest schema is always passed in, we'll reload it automatically const graphql = graphqlExpress({ schema }); graphql(req, res, next); });

答案 1 :(得分:1)

我设法通过删除快速路线然后重新创建它来完成它。但实际上我发现因为makeRemoteExecutableSchema在每次请求时发送内省查询,实际上你不需要更新你的模式,它会自动更新。但这并不意味着Graphiql。