graphql-python / graphql-python/flask-graphql

"Decorated type deeper than introspection query" error with nested lists

Aberta
#29 1 comentário 0 reações 0 responsáveis Ver no GitHub
Linguagem predominante
Python
Estrelas
1.3k
Forks
139
Métricas de merge de PRs
Nenhum PR com merge em 30d

Descrição

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?

Guia de contribuição

Nenhum guia de contribuição indexado para este repositório

Direção de pesquisa

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.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
flask, graphql, python
Domínio
api, backend
Tipo de issue
Bug
Dificuldade
4/5
Tempo estimado
3-5 dias
Status de atividade
Estagnada
Clareza
Razoavelmente clara
Facilidade para iniciantes
35/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.