查询#
在 GraphQL 中,使用查询从服务器获取数据。在 Strawberry 中,您可以通过定义查询类型来定义服务器提供的数据。
默认情况下,API 公开的所有字段都嵌套在 root 查询类型下。下面是在 Strawberry 中定义 root 查询类型的方法:
@strawberry.type
class Query:
name: str
schema = strawberry.Schema(query=Query)
这将创建模式,其中根类型 Query
只有名为 name
的字段。正如你所注意到的,没有提供获取数据的方法。为了做到这一点,需要提供 resolver
,知道如何获取特定字段数据的函数。例如,在这种情况下,可以有函数总是返回相同的名称:
def get_name() -> str:
return "Strawberry"
@strawberry.type
class Query:
name: str = strawberry.field(resolver=get_name)
schema = strawberry.Schema(query=Query)
所以现在,当请求 name
字段时,get_name
函数将被调用。