在 Flutter 开发中,我们经常需要进行网络请求,而 Dio 是一个强大的网络请求库,支持多种请求方式,具有高效、简洁的特点。但是每次发起请求时都需要编写一些公共代码,如设置请求头、处理错误等,这些代码会让我们的业务逻辑变得繁琐,为了提高开发效率,我们可以将这些公共代码进行封装,方便我们在业务中直接调用。
封装思路
本文将以 GET 请求为例,介绍如何基于 Dio 进行网络请求的封装。
- 我们需要封装一个基础请求类,其中包含一些公共的配置和方法,比如设置请求头、处理错误等。
- 我们需要封装一个具体的请求类,继承自基础请求类,用于处理业务相关的请求。
- 我们将具体的请求类进行组合,形成一个完整的网络请求工具类。
基础请求类封装
我们首先来封装一个基础请求类,包含以下功能:
- 设置请求头
- 处理错误
import 'dart:convert';
import 'package:dio/dio.dart';
class BaseRequest {
Dio dio;
BaseRequest() {
dio = Dio();
dio.options.headers = {
'Content-Type': 'application/json;charset=UTF-8',
};
}
Future<Map<String, dynamic>> get(String path,
{Map<String, dynamic> queryParameters}) async {
try {
Response response = await dio.get(path, queryParameters: queryParameters);
return json.decode(response.toString());
} on DioError catch (e) {
if (e.resp

最低0.47元/天 解锁文章
1524

被折叠的 条评论
为什么被折叠?



