execute method
Implementation
@override
Future<ApiResponse<T>> execute({Dio? dio}) async {
try {
var ret = await DioUtil().request(
path,
cancelToken: _cancelToken,
parameters: _resolveQueryParameters(),
data: _resolveData(),
dio: dio,
options:
option?.copyWith(sendTimeout: timeout, receiveTimeout: timeout),
method: method,
);
var validatedData = validate(ret);
if (validatedData == 200) {
final responseMap = _asResponseMap(ret.response);
var convertedData = convert(responseMap?['data']);
return ApiResponse(
code: validatedData,
data: convertedData,
msg: responseMap?['message']?.toString() ?? 'success',
total: _readTotal(responseMap),
);
} else {
return handleException(ret);
}
} catch (e) {
return ApiResponse(code: -1, msg: 'request error', e: e);
}
}