parse<T> method
解析响应
raw 原始 HTTP 响应(statusCode、data、path)
返回用户定义的 Response,必须处理所有可能的响应结构
Implementation
@override
ApiResponse<T> parse<T>(RawHttpResponse raw) {
if (raw.data is! Map<String, dynamic>) {
return ApiResponse<T>(
code: -1,
message: '响应格式错误',
data: null,
httpStatusCode: raw.statusCode,
);
}
final data = raw.data as Map<String, dynamic>;
return ApiResponse<T>(
code: (data['code'] as int?) ?? -1,
message: (data['message'] as String?) ?? '',
data: data['data'],
httpStatusCode: raw.statusCode,
);
}