graphql-python / graphql-python/flask-graphql
"Decorated type deeper than introspection query" error with nested lists
- 主要語言
- Python
- 星號
- 1.3k
- 分支
- 139
- PR 合併指標
- 30 天內沒有已合併 PR
描述
We see the following errors when using nested lists:
```
Error: Decorated type deeper than introspection query.
at n (http://cdn.jsdelivr.net/graphiql/0.7.1/graphiql.min.js:15:23637)
at n (http://cdn.jsdelivr.net/graphiql/0.7.1/graphiql.min.js:15:23879)
at n (http://cdn.jsdelivr.net/graphiql/0.7.1/graphiql.min.js:15:23733)
at n (http://cdn.jsdelivr.net/graphiql/0.7.1/graphiql.min.js:15:23879)
at r (http://cdn.jsdelivr.net/graphiql/0.7.1/graphiql.min.js:15:24425)
at http://cdn.jsdelivr.net/graphiql/0.7.1/graphiql.min.js:15:26609
at http://cdn.jsdelivr.net/graphiql/0.7.1/graphiql.min.js:11:8480
at Array.reduce (native)
at keyValMap (http://cdn.jsdelivr.net/graphiql/0.7.1/graphiql.min.js:11:8444)
at f (http://cdn.jsdelivr.net/graphiql/0.7.1/graphiql.min.js:15:26484)
```
Here's the example code that can cause this issue. Graphene introspection doesn't report any errors.
```
import graphene, json
class Animal(graphene.Interface):
id = graphene.String()
class Dog(graphene.ObjectType):
class Meta:
interfaces = (Animal, )
breed = graphene.String()
class Cat(graphene.ObjectType):
class Meta:
interfaces = (Animal, )
category = graphene.String()
class Query(graphene.ObjectType):
animals = graphene.NonNull(graphene.List(graphene.NonNull(graphene.List(graphene.NonNull(Animal)))))
def resolve_animals(self, args, context, info):
return[[Dog(id=1, breed='Golden Retriever'),
Dog(id=2, breed='German Shepard')],
[Cat(id=11, category ='Tiger'),
Cat(id=12, category='House Cat')]]
schema = graphene.Schema(query=Query, types=[Dog, Cat, ])
```
Errors disappear if we remove the "required" or NonNull decorators. Any suggestions on how to fix these errors?
貢獻指南
這個儲存庫沒有索引到貢獻指南
研究方向
Start with the nested Query.animals schema and its resolve_animals example, then reproduce the failure through GraphiQL 0.7.1 while inspecting the introspection response. Compare the nested NonNull/list case with the versions that remove NonNull; done means the schema introspects and GraphiQL no longer reports the decorated-type error.
由索引模型根據 Issue 內容生成。
評估
- 技術堆疊
- flask, graphql, python
- 領域
- api, backend
- Issue 類型
- 缺陷
- 難度
- 4/5
- 預估耗時
- 3-5 天
- 活躍度
- 停滯
- 描述清晰度
- 基本清楚
- 新手友好度
- 35/100