使用 GraphiQL 或 GraphQL 端点生成 schema.json
Posted
技术标签:
【中文标题】使用 GraphiQL 或 GraphQL 端点生成 schema.json【英文标题】:Generate schema.json with GraphiQL or GraphQL endpoint 【发布时间】: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
【问题讨论】:
【参考方案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。
【讨论】:
以上是关于使用 GraphiQL 或 GraphQL 端点生成 schema.json的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Passport 对 GraphQL 端点进行身份验证?
使用 nuxt-apollo 时如何使用 GraphQL 查询?