[英]sFlutter Unhandled Exception : InternalLinkedHashMap<String, dynamic>' is not a subtype of type 'List<dynamic>
[英]Unhandled Exception: type '_InternalLinkedHashMap<String, dynamic>' is not a subtype of type 'List<dynamic>'
我嘗試從 api 獲取數據到我的 Flutter 應用程序,但出現此錯誤。 我想在登錄后使用 getDashboardItems function 在我的主頁中顯示一些內容。
網絡.dart
Future<List> getDashboardItems() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
var accessToken = "Token ${prefs.getString("accessToken")!}";
final response = await get(
Uri.parse('$baseUrlApi/employee-api/dashboard/'),
headers: <String, String>{
'Content-Type': 'application/json; charset=UTF-8',
'Authorization': accessToken,
},
);
存儲庫.dart
Future<List> getDashboardItem() async {
final signUpData = await networkService.getDashboardItems();
if (signUpData[0] == true) {
try {
return [true, signUpData[1]];
} catch (e) {
return [false, []];
}
}
return [false, signUpData[1]];
}
家庭控制器.dart
getDashboardItem(context) {
isLoading.value = true;
repository.getDashboardItem().then((res) {
if (res[0] == true) {
isLoading.value = false;
getDashboardResponse.value = res[1];
} else if (res[1]['detail'] == 'Invalid token.' ||
res[1]['detail'] == 'Authentication credentials were not provided') {
Get.snackbar('Error', 'Your session is out, Please login again',
snackPosition: SnackPosition.TOP);
logout(context);
} else {
isLoading.value = false;
Get.snackbar('Error', res[1]['parameter error'],
snackPosition: SnackPosition.TOP);
}
});
}
當我收到此錯誤時,它會發送我的在線
getDashboardResponse.value = res[1];
來自家庭控制器。
這是因為您正在嘗試這樣做,例如 {"data":[]}(ie) 這是您的響應數據,因此 res[1] 無法更好地了解您正在努力做到最好的是有可能分享您從 api 獲得的回復
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.