Flutter 网络请求框架封装,35岁老年程序员的绝地翻身之路
warning:
这篇文章距离上次修改已过182天,其中的内容可能已经有所变动。
import 'package:dio/dio.dart';
class HttpClient {
static const baseUrl = 'https://example.com/api';
final Dio dio = Dio(BaseOptions(baseUrl: baseUrl));
Future<Response> get(String path, {Map<String, dynamic>? queryParameters, Options? options}) async {
return dio.get(path, queryParameters: queryParameters, options: options);
}
Future<Response> post(String path, {data, Options? options}) async {
return dio.post(path, data: data, options: options);
}
Future<Response> put(String path, {data, Options? options}) async {
return dio.put(path, data: data, options: options);
}
Future<Response> delete(String path, {data, Options? options}) async {
return dio.delete(path, data: data, options: options);
}
}
// 使用示例
void main() async {
HttpClient httpClient = HttpClient();
try {
Response response = await httpClient.get('/some-endpoint');
print('Response status: ${response.statusCode}');
print('Response data: ${response.data}');
} catch (e) {
print('Error: $e');
}
}
这个示例代码展示了如何使用Dio库来封装一个简单的HTTP客户端,并提供了对GET、POST、PUT和DELETE请求的支持。这样的封装可以减少重复代码,提高代码的可维护性和可读性。在实际项目中,可以根据具体需求添加更多功能,比如请求拦截器、响应拦截器、错误处理等。
评论已关闭