request<T> method
Implementation
Future<ResponseModel<T>> request<T>({
required String endpoint,
required T Function(dynamic data) fromJson,
String method = 'GET',
Map<String, dynamic>? queryParameters,
dynamic body,
Map<String, dynamic>? headers,
}) async {
try {
final response = await _dio.request(
endpoint,
data: body,
queryParameters: queryParameters,
options: Options(
method: method,
headers: headers,
),
);
final responseData = response.data;
return ResponseModel<T>(
success: true,
data: fromJson(responseData),
message: responseData["message"], // ✅ auto-extract message
statusCode: response.statusCode,
);
} on DioException catch (e) {
throw _handleError(e);
}
}