我们在上一章回中介绍了"如何获取时间戳"相关的内容,本章回中将介绍 dio中的通用请求.闲话休提,让我们一起Talk Flutter吧。
1. 概念介绍
我们在前面章回中介绍了如何使用dio库发起网络请求相关的内容。从本章回开始,我们将介绍一系列关于dio中的内容,这些内容主要dio库功能的介绍,或者说知识的细节,主要介绍的功能有get、post、path、delete
这些常用的Http操作。本章回先介绍通用请求操作。
2. 使用方法
我们在这里说的通用请求操作是指dio中的request()
方法,该方法可以发起任何网络请求,下面是该方法的函数原型:
Future<Response<T>> request<T>(
String url, {
Object? data,
Map<String, dynamic>? queryParameters,
CancelToken? cancelToken,
Options? options,
ProgressCallback? onSendProgress,
ProgressCallback? onReceiveProgress,
});
在上面的函数原型中,通过url
参数指定网络地址,data
参数指定请求相关的数据,最重要的是options
参数,通过该参数来指定Http
请求的类型。我们将在后面的小节中通过示例代码来演示它的用法。
3. 示例代码
Future<T> request<T>(String url,{
required Map<String,dynamic> params,
}) async {
String method='get',
final option = Options(method: method);
try {
Response response = await mdio.request(
url, queryParameters: params, options: option);
return response.data;
}on DioException catch (e) {
print(e.toString());
return Future.error(e);
}
}
}
我们在上面的示例代码中把request
()方法封装成了独立的方法,这样方便使用,同时我们也指定请求的类型为"get
",请求的地址和参数通过方法的参数传递进来,最终传递给request
()方法。
此外,代码中没有演示创建dio
对象的方法,大家可以参考之前博客中的内容。
4. 内容总结
最后,我们对本章回中的内容做一个全面的总结:
- 使用dio中的request方法可以发起各种Http请求;
- 使用request方法中的url参数来设置请求的网络地址;
- 使用request方法中的queryParameters参数来设置请求的参数;
- 使用request方法中的options参数来设置请求的类型,比如"get";
看官们,与"dio中的通用请求"相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!