anHttpJson<T> static method

Future<T> anHttpJson<T>(
  1. Param param, {
  2. required JsonObjectConvertor<T> convertor,
  3. HttpMethodType method = HttpMethodType.post,
  4. HttpRequestToken? cancelToken,
  5. ProgressCallback? onSendProgress,
  6. ProgressCallback? onReceiveProgress,
})

http请求, 用于返回值是Object的请求。 convert 数据类型转换器。

Implementation

static Future<T> anHttpJson<T>(Param param,
    {required JsonObjectConvertor<T> convertor,
    HttpMethodType method = HttpMethodType.post,
    HttpRequestToken? cancelToken,
    ProgressCallback? onSendProgress,
    ProgressCallback? onReceiveProgress}) async {
  /// Response Headers Content-Type: application/json 时 dio 会把结果转为Map<String,dynamic>类型,
  /// 而Content-Type: text/html; charset=UTF-8时会把结果转为String 类型。
  // var response = await AnHttp.instance.request<Map<String,dynamic>>(param,
  var response = await AnHttp.instance.request<dynamic>(param,
      method: method,
      cancelToken: cancelToken,
      onSendProgress: onSendProgress,
      onReceiveProgress: onSendProgress);
  if (response.data.runtimeType == String) {
    return convertor(jsonDecode(response.data!));
  }
  return convertor(response.data!);
}