zoukankan      html  css  js  c++  java
  • graphql-query-rewriter 无缝处理graphql 变更

    graphql-query-rewriter 是一个graphql schema 变动重写的中间件,可以帮助我们解决在版本变动,查询实体变动
    是的问题,从目前已知的技术中我们可选的方案有以下处理变动的

    • directive (client、server 端指令)
    • query rewrite (schema 重写)
    • prisma middleware (中间件模型)

    参考demo

    • 安装
     
    npm install graphql-query-rewriter express-graphql-query-rewriter
    • 代码
    import { FieldArgTypeRewriter } from 'graphql-query-rewriter';
    import { graphqlRewriterMiddleware } from 'express-graphql-query-rewriter';
    const app = express();
    // set up graphqlRewriterMiddleware right before graphQL gets processed
    // to rewrite deprecated queries so they seamlessly work with your new schema
    app.use('/graphql', graphqlRewriterMiddleware({
      rewriters: [
        new FieldArgTypeRewriter({
          fieldName: 'userById',
          argName: 'id',
          oldType: 'String!',
          newType: 'ID!'
        }),
      ]
    }));
    app.use('/graphql', graphqlHTTP( ... ));
     

    说明

    当看graphql-query-rewriter 有一些限制

    • 只能对于那个query 进行单独处理
    • 不支持别名字段的处理

    参考资料

    https://github.com/ef-eng/graphql-query-rewriter

  • 相关阅读:
    loaded some nib but the view outlet was not set
    指标评比
    IOS DEVELOP FOR DUMMIES
    软件测试题二
    javascript select
    DOM节点类型详解
    mysql操作
    UVA 10055
    solutions for 'No Suitable Driver Found For Jdbc'
    解决git中文乱码问题
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/10929027.html
Copyright © 2011-2022 走看看