从 api 响应中保存缓存

Saving Cache from api response on flutter

我想寻求一种简单的方法来缓存我 API 对 flutter 的响应。我打算做的是,当没有可用的互联网时,它将使用缓存项,如果有可用的互联网,它将更新缓存到最新的 one.The 下面的代码是我当前的 API 调用正在使用。

 _getCurrentPlanDetails() async{
      var url = "http://dmp-portal-fixture.herokuapp.com/getCurrentPlan";
      var response = await http.get(url);
      if (response.statusCode == 200){
        var jsonResponse = convert.jsonDecode(response.body);
          setState(() {
            currentPlan = jsonResponse["data"]["CurrentPlan"];
            cutOffDate = jsonResponse["data"]["CutoffDate"];
            contractExpiry = jsonResponse["data"]["ContractExpiry"];
            monthsRemaining =jsonResponse["data"]["MonthsRemaining"];
          });
          print("get Current plan");
      }else{
      print("error current plan");
      }
    }

根据您的要求的用例,有多个包可以处理此问题:

  1. localstorage 这是一个基于 JSON 的存储。

  2. shared_preferences用于存储键值对。

  3. flutter_secure_storage 用于存储应用程序的所有访问令牌和安全相关组件,例如所有会话信息、用户凭据等...

  4. SQL database 关于在 Flutter 中将文件存储在数据库中有一个相当广泛的教程,所以我建议您也阅读该教程,以防您需要保留大量与应用程序相关的数据如果没有互联网可用。