首页 > 解决方案 > api调用颤动期间如何处理空安全?

问题描述

我正在尝试执行 API 调用,其中出现错误以挂起 null 安全变量必须分配。

这是我的代码

Future<LoginResponseModel> loginCustomer(
      String username, String password) async {
    LoginResponseModel model;

    try {
      var response = await Dio().post(Config.tokenURL,
          data: {
            "username": username,
            "password": password,
          },
          options: Options(headers: {
            HttpHeaders.contentTypeHeader: "application/x-www-form-urlencoded",
          }));

      if (response.statusCode == 200) {
        model = LoginResponseModel.fromJson(response.data);
      }
    } on DioError catch (e) {
      print(e.message);
    }
    return model;
  }

异常得到

必须先分配不可为空的局部变量“模型”,然后才能使用它。尝试给它一个初始化表达式,或者确保在每个执行路径上都分配了它。dart (not_assigned_potentially_non_nullable_local_variable)

有什么解决方案来处理这个

试过“?” 它不工作。

截屏

标签: flutterapidartdart-null-safety

解决方案


  Future<LoginResponseModel?> loginCustomer(
      String username, String password) async {
    LoginResponseModel? model;

    try {
      var response = await Dio().post(Config.tokenURL,
          data: {
            "username": username,
            "password": password,
          },
          options: Options(headers: {
            HttpHeaders.contentTypeHeader: "application/x-www-form-urlencoded",
          }));

      if (response.statusCode == 200) {
        model = LoginResponseModel.fromJson(response.data);
      }
    } on DioError catch (e) {
      print(e.message);
    }
    return model;
  }

推荐阅读