zoukankan      html  css  js  c++  java
  • 自动生成GraphQL接口文件的步骤

    https://blog.csdn.net/qq_31851435/article/details/102853649

    1、安装CLI

    $ yarn add -D graphql @graphql-codegen/cli

    2、初始化

    $ graphql-codegen init

    gql文件示例 

    //String$backendIds

    backendIds
        name

        sellerPhone

        accountType

        id

        disabled

      }

    }

    // current-user.gql
    query CurrentUser {
      currentUser {
        role

        liveRoom {

          id

          name

        }

      }

    }

    
    

     初始化命令执行后会在根目录下生成 codegen.yml,这个文件可以根据 graphql 的接口自动生成调用方法,生成文件在 libs/xxx/graphql/documents.ts(这个地址是你自己项目里配置的地址),然后直接引用里面的方法来调接口

      // codegen.yml

       overwrite: true

      schema: "http://localhost:3333/xxx-api/graphql"

      documents: "libs/xxx/graphql/**/*.{gql,graphql}"

      generates:

        libs/xxx/graphql/documents.ts:

        plugins:

         - "typescript"

         - "typescript-operations"

         - "typescript-apollo-angular"

    注意:接口地址必须指定正确,否则执行命令会报错

     3、执行生成命令

     

    // package.json

     
    "scripts":{
      "generate": "graphql-codegen --config codegen.yml"
    }

     

    flutter下相关文件格式

    // codegen.yml

    schema: "相关网址接口"

    overwrite: true

    generates:

      ../lib/gql(自定义生成gql)/model.dart:

        plugins:

          - graphql-to-dart

    config:

      requiredFields: false

      parts:

        - "model.g.dart"

      generateFragmentHelpers:

        excludeFields:

          - onType: Query

          - onType: Mutation

      irreducibleTypes:

        -

    // package.json

    {
      "scripts": {
       "gql-gen": "gql-gen",
       "format": "cd .. && flutter format lib/gql(自定义目录)/mode.dart",
       "source-gen": "cd .. && flutter packages pub run build_runner build --delete-conflicting-outputs",
       "build": "yarn gql-gen && yarn format && yarn source-gen"
      },
      "dependencies": {
       "graphql": "^14.7.0",
       "graphql-code-generator": "^0.18.2",
       "graphql-to-dart": "^0.3.6"
      }
    }
     
  • 相关阅读:
    centos 7 端口
    linux yum
    linux RPM包管理
    linux 进程
    linux 显示系统执行的进程
    linux 任务调度
    linux 组管理
    linux 压缩和解压缩
    linux 文件目录类的指令 包含查找
    PHP指定字段的多维数组排序方法
  • 原文地址:https://www.cnblogs.com/sundaysandroid/p/13530288.html
Copyright © 2011-2022 走看看