You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用flutter_graphql调用Shopify Storefront API时uri参数未定义报错如何解决

错误原因

你参考的是flutter_graphql旧版本的示例代码,从v5.0.0版本迭代后,HttpLink构造函数的uri命名参数已被重命名为url,因此触发参数未定义的报错。

解决方案

方案1:适配新版本写法(推荐)

直接将参数名从uri替换为url即可保留传身份令牌的逻辑,适配Shopify Storefront API的完整示例如下:

void main() {
  HttpLink link = HttpLink(
    // 替换原uri参数为url
    url: 'https://<你的店铺前缀>.myshopify.com/api/2024-07/graphql.json',
    headers: <String, String>{
      // Shopify Storefront API需使用专属请求头传令牌,不要用Bearer格式
      'X-Shopify-Storefront-Access-Token': '<你的Storefront API令牌>',
      'Content-Type': 'application/json',
    },
  );
}

注意:如果你继续使用原来的Authorization: Bearer请求头,Shopify接口会返回401未授权错误,必须替换为上面示例的专属请求头。

方案2:锁定依赖版本(临时兼容)

如果不想调整现有代码逻辑,可以在pubspec.yaml中把flutter_graphql依赖锁定到4.x版本,就能继续使用uri参数:

dependencies:
  flutter_graphql: ^4.1.1

修改配置后执行flutter pub get重新拉取依赖即可。

内容的提问来源于stack exchange,提问作者orgee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 03:45:00