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

Flutter杂货APP商品加载失败:空Grid问题求助

问题排查与修复方案

1. API请求参数传反(致命错误)

在HomeRepository的getAllProducts方法中,restRequest的url和method参数完全传反,导致请求发送到了错误地址,直接引发空数据返回:

// 错误代码
final result = await _httpManager.restRequest(
  url: HttpMethods.post,
  method: EndPoints.getAllProducts,
  body: body,
);

修复:
交换url和method参数值:

// 正确代码
final result = await _httpManager.restRequest(
  url: EndPoints.getAllProducts,
  method: HttpMethods.post,
  body: body,
);

2. 获取商品后未触发UI刷新

在HomeController的getAllProducts方法中,成功获取商品列表后仅更新了数据,但未调用update()通知GetX刷新UI,导致GridView无法感知数据变化:

// 错误代码
success: (data) {
  currentCategory!.items = data;
},

修复:
添加update()调用触发UI更新:

// 正确代码
success: (data) {
  currentCategory!.items = data;
  update();
},

3. 额外验证点

  • 确认currentCategory!.pagination初始值是否符合后端接口的页码规则(比如后端是否从1开始计数而非0)
  • 核对ItemModel的字段映射是否完全匹配后端返回的JSON结构(若后端id字段为objectId,需添加@JsonKey(name: "objectId")注解)
  • 检查HttpManager是否配置了Back4App必需的请求头(如X-Parse-Application-Id、X-Parse-REST-API-Key),缺失认证头会导致请求被拒绝

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 13:35:56