safeApiCall static method

dynamic safeApiCall(
  1. String url,
  2. RequestType requestType, {
  3. Map<String, dynamic>? headers,
  4. Map<String, dynamic>? queryParameters,
  5. Map<String, dynamic>? data,
  6. required dynamic onSuccess(
    1. Response response
    ),
})

perform safe api request

Implementation

static safeApiCall(
  String url,
  RequestType requestType, {
  Map<String, dynamic>? headers,
  Map<String, dynamic>? queryParameters,
  Map<String, dynamic>? data,
  required Function(Response response) onSuccess,
}) async {
  try {
    late Response response;
    if (requestType == RequestType.get) {
      response = await _dio.get(
        url,
        queryParameters: queryParameters,
        options: Options(
          headers: headers,
        ),
      );
    } else if (requestType == RequestType.post) {
      response = await _dio.post(
        url,
        data: data,
        queryParameters: queryParameters,
        options: Options(headers: headers),
      );
    } else if (requestType == RequestType.put) {
      response = await _dio.put(
        url,
        data: data,
        queryParameters: queryParameters,
        options: Options(headers: headers),
      );
    } else {
      response = await _dio.delete(
        url,
        data: data,
        queryParameters: queryParameters,
        options: Options(headers: headers),
      );
    }
    // 3) return response (api done successfully)
    await onSuccess(response);
  } catch (error) {
    print("Error");
    print(error.toString());
  }
}