簡體   English   中英

未處理的異常:類型 '_InternalLinkedHashMap<string, dynamic> ' 不是類型 'List 的子類型<dynamic> '</dynamic></string,>

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM