execute method
Implementation
@override
Future<ApiResponse<T>> execute({Dio? dio}) async {
try {
var ret = await DioUtil().request(
path,
cancelToken: _cancelToken,
parmas: method == DioMethod.get ? queryParameters : null,
data: method == DioMethod.post ? data : null,
dio: dio,
options: option?.copyWith(sendTimeout: timeout, receiveTimeout: timeout),
method: method,
);
var validatedData = validate(ret);
if (validatedData == 200) {
var convertedData = convert(ret.response['data']);
return ApiResponse(code: 200, data: convertedData);
} else {
return handleException(ret);
}
} catch (e) {
return ApiResponse(code: -1, msg: 'request error', e: e);
}
}