android - 如何使用 Flutter 和 Dart 将变量值发送到 API
问题描述
我正在尝试将变量值发送到 API 以获取用户详细信息(仅限登录后的特定用户)
这是我正在使用的代码(只是试图将该 uid 发送到 api 链接):
final FirebaseAuth _auth = FirebaseAuth.instance;
getCurrentUser() async {
final FirebaseUser user = await _auth.currentUser();
final uid = user.uid;
print(uid);
}
Future<List<User>> _getUsers() async {
var data = await http.get("https://api.example.com/get/myuserid=$uid");
var jsonData = json.decode(data.body);
List<User> users = [];
for (var u in jsonData) {
User user = User(u["customer_id"]]);
users.add(user);
}
print(users.length);
return users;
}
但我收到此错误:错误:flutter/shell/common/shell.cc(210)] Dart Unhandled Exception: type '_InternalLinkedHashMap<String, dynamic>' is not a subtype of type 'Iterable'
解决方案
问题不在于在 API 中发送 UID 其工作正常,问题在于
for (var u in jsonData) {
User user = User(u["customer_id"]]);
users.add(user);
}
jsonData 是一个Map<String, dynamic>
你不能在 map 中使用的 for 循环
推荐阅读
- powerbi - 电源查询附加多个表与单列,无论列名
- node.js - Swagger 问题 => 不允许附加属性:swagger 配置中的 x=swagger=router-controller
- excel - 获取多个输入值的结果
- node.js - 没有找到数据库表
- html - 仅部分全宽背景上的边框
- javascript - 你在整个变量表达式周围有 () 的这个 javascript 语法是什么?
- java - 测试在 Eclipse 中运行良好,但在 Jenkins 中无法执行
- python - 查找轮廓的边缘强度/大小以查找和排除模糊对象
- python - 将 Discord.PY 代码更新到最新版本时出现问题
- azure-machine-learning-service - 在 ML 服务中创建的服务