GraphQL Relay 自省查询失败:“查询”类型上的未知字段“__type”
Posted
技术标签:
【中文标题】GraphQL Relay 自省查询失败:“查询”类型上的未知字段“__type”【英文标题】:GraphQL Relay introspection query fails: Unknown field '__type' on type 'Query' 【发布时间】:2021-09-05 01:14:15 【问题描述】:我有一个带有 GraphQL 客户端(中继)的 React 应用程序。 我需要进行自省查询以获取某个枚举的所有类型。 这是我的查询:
import graphql from 'react-relay'
export const corporationTypeEnumQuery = graphql`
query corporationTypeEnumQuery
__type(name: "CorporationTypeEnum")
enumValues
name
`
当我尝试编译应用程序时,Relay 抛出以下错误:
Unknown field '__type' on type 'Query'
当我在 GraphIQL(服务器为我提供的游乐场)上尝试完全相同的查询时,没有错误,并且查询成功。
请告诉我我的 GraphQL 查询有什么问题。任何建议都会受到好评。
【问题讨论】:
【参考方案1】:__type
必须是架构的一部分。 Graphql 规范默认说这应该是隐藏的,而不是模式的一部分。你需要扩展你的服务器以公开它或手动将它们放到模式中。..
服务器可以处理,但编译器不能,因为它需要在 .graphql
中明确定义
【讨论】:
以上是关于GraphQL Relay 自省查询失败:“查询”类型上的未知字段“__type”的主要内容,如果未能解决你的问题,请参考以下文章
GraphQL 架构文件应包含有效的 GraphQL 自省查询结果