GraphQL参数传递报错:Undefined name 'tenant_id' 问题求助
解决GraphQL传递参数时的"Undefined name 'tenant_id'"错误
你的错误根源是GraphQL查询语法不规范:没有在query块中提前声明要使用的变量,直接在字段参数里引用$tenant_id导致未定义;另外你传的tenant_id是数字类型,但查询里定义的是String!,后续还会出现类型不匹配错误,一起修正:
修正后的GqlQuery代码
mixin GqlQuery { static String getTenancyListQuery = ''' query GetTenancyList(\$tenant_id: Int!, \$page: Int!) { tenancy(tenant_id: \$tenant_id, page: \$page) { id invoices{ id } } } '''; }
关键修正点
- 声明变量:在
query后面添加括号,明确声明所有要使用的变量及对应类型(比如$tenant_id: Int!,因为你传的是数字9,不是字符串,所以把原来的String!改成Int!) - 绑定参数:在
tenancy字段中,通过参数名: 变量名的形式,把声明好的变量传递给字段的对应参数(比如tenant_id: $tenant_id)
关于Repo代码
你的Repo部分变量传递逻辑没问题,variables: const {"tenant_id": 9, "page": 1}和修正后的查询变量名、类型匹配,不需要修改。
内容的提问来源于stack exchange,提问作者Tony
相关产品推荐
相关产品推荐

