根据Ariadne 的文档,应该可以使用set_alias
. 但我不能让它工作,set_alias
没有抱怨,但任何对别名字段的查询都返回 null。
# test.py
from ariadne import ObjectType, gql, make_executable_schema
from ariadne.asgi import GraphQL
from types import SimpleNamespace
type_defs = gql("""
type Query {
hello: String!
goodbye: String!
}
""")
query = ObjectType("Query")
@query.field("hello")
def resolve_hello(_, info):
request = info.context['request']
user_agent = request.headers.get('user-agent', 'guest')
return 'hello, %s' % user_agent
query.set_alias('goodbye', 'hello')
schema = make_executable_schema(type_defs, query )
app = GraphQL(schema, debug=True)
我和它一起跑uvicorn test:app
那么定义别名的正确方法是什么?