与石墨烯后端反应阿波罗中 graphql 接口类型的常见字段
Posted
技术标签:
【中文标题】与石墨烯后端反应阿波罗中 graphql 接口类型的常见字段【英文标题】:Common fields on graphql interface type in react apollo with a graphene backend 【发布时间】:2020-01-16 03:26:13 【问题描述】:假设我有一个带有接口和两种类型的 python graphene-django 后端
interface InterfaceType
id: ID!
name: String!
type Type1 implements InterfaceType
aField: String
type Type2 implements InterfaceType
anotherField: String
我可以使用内联片段从我的 react-apollo 前端查询这个:
query
interfaceQuery
...on Type1
id
name
...on Type1
id
name
但是from what I understand应该也可以简单的查询公共字段
query
interfaceQuery
id
name
但是,当我尝试这个时,我收到错误 Cannot query field "id" on type "InterfaceType". Did you mean to use an inline fragment on "Type1" or "Type2"?
我正在使用IntrospectionFragmentMatcher
。
我是不是误会了,这种对公共字段的简单访问是不可能的,或者它只是没有在石墨烯或阿波罗中实现?
【问题讨论】:
【参考方案1】:如果您看到该错误,则它来自服务器,而不是 Apollo。但是,没有什么特定于 Apollo 或 Graphene 可以阻止您在没有片段的情况下查询接口字段。
抛出错误是因为您使用的是literally doesn't have that field on the provided type 的任何架构。也许您在没有重新启动服务的情况下更新了架构,或者错误地认为哪些字段实际上是接口的一部分——仅提供伪代码很难知道。
【讨论】:
是的,我的后端代码有错误?♂️。谢谢!以上是关于与石墨烯后端反应阿波罗中 graphql 接口类型的常见字段的主要内容,如果未能解决你的问题,请参考以下文章
表达 http:graphql 突变上的 500 错误以在反应中从阿波罗客户端创建用户