delete<T> method

Future<ResponseModel<T>> delete<T>(
  1. String path, {
  2. dynamic data,
  3. Map<String, dynamic>? queryParameters,
  4. Options? options,
  5. CancelToken? cancelToken,
  6. T decoder(
    1. dynamic
    )?,
  7. bool useResponseModel = true,
})

Enhanced DELETE request with ResponseModel wrapper

Implementation

Future<ResponseModel<T>> delete<T>(
  String path, {
  dynamic data,
  Map<String, dynamic>? queryParameters,
  Options? options,
  CancelToken? cancelToken,
  T Function(dynamic)? decoder,
  bool useResponseModel = true,
}) async {
  try {
    final response = await _dio.delete(
      path,
      data: data,
      queryParameters: queryParameters,
      options: _mergeOptions(options),
      cancelToken: cancelToken ?? _cancelToken,
    );

    if (useResponseModel) {
      return ResponseModel.fromResponse(response, decoder);
    } else {
      return ResponseModel<T>(
        data: _decodeResponse<T>(response, decoder),
        success: true,
        statusCode: response.statusCode,
      );
    }
  } catch (e) {
    throw _handleError(e);
  }
}