使用flutter封装dio
时间: 2023-09-02 15:15:25 浏览: 252
Flutter 基于 dio 和 http 两种网络库的基础封装
5星 · 资源好评率100%
好的,下面是使用 Flutter 封装 dio 的步骤:
1. 首先,在项目的 `pubspec.yaml` 文件中添加 dio 的依赖:
```yaml
dependencies:
dio: ^4.0.0
```
2. 创建一个 DioUtil 类,用于封装 dio 请求:
```dart
import 'package:dio/dio.dart';
class DioUtil {
static final Dio dio = Dio();
static Future<Response> get(String url, {Map<String, dynamic> queryParameters}) async {
try {
final response = await dio.get(url, queryParameters: queryParameters);
return response;
} on DioError catch (e) {
// 处理异常
return e.response;
}
}
static Future<Response> post(String url, {Map<String, dynamic> data}) async {
try {
final response = await dio.post(url, data: data);
return response;
} on DioError catch (e) {
// 处理异常
return e.response;
}
}
}
```
以上代码中,我们创建了一个 DioUtil 类,其中定义了两个静态方法 `get` 和 `post`,用于发送 GET 和 POST 请求。我们还定义了一个静态的 dio 对象,这个对象在整个应用中只会被创建一次。
3. 在需要发送网络请求的地方,调用 DioUtil 中的方法即可:
```dart
final response = await DioUtil.get('https://api.example.com/data');
if (response.statusCode == 200) {
// 处理响应数据
} else {
// 处理错误
}
```
以上代码中,我们使用 DioUtil 中的 `get` 方法发送了一个 GET 请求,并在获取到响应后进行了处理。
这就是使用 Flutter 封装 dio 的步骤,希望对你有所帮助。
阅读全文