如何将参数传递给GraphQL?我尝试了下面的代码,但得到错误Undefined name 'tenant_id'.\nTry correcting the name to one that is defined, or defining the name.
Gql查询
mixin GqlQuery {
static String getTenancyListQuery = '''
query{
tenancy($tenant_id: String!) { // error in this line
id
invoices{
id
}
}
}
''';
}
回购协议
@override
Future<List<TenancyListResponse>?> getTenancyList() async {
try {
final result = await _client.query(QueryOptions(
document: gql(GqlQuery.getTenancyListQuery),
variables: const {"tenant_id": 9, "page": 1}));
return result.data?['tenancy']
.map((e) => TenancyListResponse.fromJson(e))
.cast<TenancyListResponse>()
.toList();
} catch (e) {
debugPrint("Exception $e");
rethrow;
}
}
1条答案
按热度按时间deikduxw1#
你需要给你的查询命名并定义更高一层的参数,而且你的查询显然需要一个
Int
而不是String
作为输入对象q
的一部分。取代:
试试看:
这看起来似乎有些多余,但它允许您在单个请求中运行多个查询/突变,并将参数正确地路由到每个查询/突变。