【问题标题】:Generate schema.json with GraphiQL or GraphQL endpoint使用 GraphiQL 或 GraphQL 端点生成 schema.json
【发布时间】:2016-02-04 05:26:27
【问题描述】:

我在创建可以使用 babel-relay-plugin 解析而不会出错的 schema.json 文件时遇到问题。查看中继的示例文件夹中包含的schema.json 文件,我尝试在 GraphiQL 中复制查询,但似乎无法正确处理。我使用Laravel 作为后端。这是我可以通过 GraphiQL 完成还是向 GraphQL 端点发送请求并保存响应?

尝试解析 schema.json 文件时出现的错误:

Cannot read property 'reduce' of undefined while parsing file: /Users/username/Sites/Homestead/Code/ineedmg-graphql/resources/assets/js/app.js

上次使用 GraphiQL 的尝试:

{
  __schema {
    queryType { 
      name
    },
    types {
        kind,
        name,
        description,
        fields {
            name,
            description,
            type {
              name,
              kind,
              ofType {
                name
                description
              }
            }
            isDeprecated,
            deprecationReason,
        },
      inputFields {
        name
        description
      }
      interfaces {
        kind
        name
        description
      },
      enumValues {
        name
        description
        isDeprecated
        deprecationReason
      }
    },
    mutationType { 
      name
    },
    directives {
      name,
      description,
      onOperation,
      onFragment,
      onField,
      args {
        name
        description
        defaultValue
      }
    }
  }
}

【问题讨论】:

    标签: reactjs graphql relayjs graphql-js


    【解决方案1】:

    是的!如果您查看示例,您可以看到它们通过执行查询生成了schema.json 文件:https://github.com/relayjs/relay-starter-kit/blob/84da9351d100f97e6ed4f08bc70a893779e61c29/scripts/updateSchema.js#L11

    这个查询实际上就是来自 graphql-js 的这个特定查询:https://github.com/graphql/graphql-js/blob/v0.4.12/src/utilities/introspectionQuery.js#L11-L89

    【讨论】:

      猜你喜欢
      • 2019-09-01
      • 2017-03-19
      • 2020-01-15
      • 2018-04-25
      • 1970-01-01
      • 2021-01-25
      • 2021-10-27
      • 2019-05-02
      • 2017-09-01
      相关资源
      最近更新 更多