当使用以下模式时,我在查询产品时总是得到空值。根据我对文档的理解,它应该返回一个包含 2 个包含 id 和 name 的对象的数组。谁能帮助我理解为什么以下代码不起作用?
import graphene
class Product(graphene.ObjectType):
id = graphene.Int()
name = graphene.String()
class Query(graphene.ObjectType):
products = graphene.List(Product)
def resolve_products(self, info, **kwargs):
return [{
"name": "TEST", "id": 1
}, {
"name": "TEST2", "id": 2
}]
schema = graphene.Schema(query=Query)
请您参考如下方法:
我不知道你现在是否想通了。我遇到了和你一样的问题,感谢互联网。以下答案可能会有所帮助。
PS,我使用 flask 来可视化网络。
from flask import Flask
from flask_graphql import GraphQLView
import graphene
app = Flask(__name__)
class Product(graphene.ObjectType):
id = graphene.Int()
name = graphene.String()
class Query(graphene.ObjectType):
products = graphene.List(Product)
def resolve_products(self, info, **kwargs):
return [Product(name="TEST", id=1), Product(name="TEST2", id= 2)]
schema = graphene.Schema(query=Query)
app.add_url_rule('/graphql', view_func=GraphQLView.as_view('graphql',
schema=schema, graphiql=True))
app.run(port=4901)
运行.py时,输入http://localhost:4901/graphql进行查询。
query{
users{
id
}
}
返回一个列表类型。 返回 [Product(name="TEST", id=1), Product(name="TEST2", id= 2)]
