Android studio 在颤振中为Dio提供的其他类

Android studio 在颤振中为Dio提供的其他类,android-studio,flutter,dio,Android Studio,Flutter,Dio,我正在为迪奥创建一个类 我与服务器的所有连接都发生在这个类中 现在我想在另一个类中调用onError和onSuccess 这方面的一个例子是在Java中通过一个接口完成的 谢谢我已经这样做了, 首先,创建一个通用的dio类 class NetworkRepository { Future<String> getRequest(String url) async { var dio = Dio(); print(url.toString()); dio.in

我正在为迪奥创建一个类 我与服务器的所有连接都发生在这个类中 现在我想在另一个类中调用onError和onSuccess 这方面的一个例子是在Java中通过一个接口完成的

谢谢

我已经这样做了, 首先,创建一个通用的dio类

class NetworkRepository {
  Future<String> getRequest(String url) async {
    var dio = Dio();
    print(url.toString());
    dio.interceptors.add(InterceptorsWrapper(
        onRequest:(RequestOptions options) async {
          print("REQUEST[${options?.method}] => PATH: ${options?.path}");
          return options; //continue
        },
        onResponse:(Response response) async {
          print("RESPONSE[${response?.statusCode}] => PATH: ${response?.request?.path}");
          return response; // continue
        },
        onError: (DioError err) async {
         print("ERROR[${err.toString()}] => PATH: ${err?.request?.path}");
          return  err;//continue
        }
    ));
    Response response = await dio.get(url);
    print(response.toString());
    return response.toString();
  }
  dynamic requestInterceptor(RequestOptions options) async {
    return options;
  }

}
你也可以试着这样做

 NetworkRepository().getRequest(projects).then((onValue) {
      var dataConvertedToJSON = json.decode(onValue);
      print(dataConvertedToJSON);
      setState(() {
        ProjectModel model = ProjectModel.fromJson(dataConvertedToJSON);
        mList.add(model);
      });
    });