Dio 网络请求
基本配置
dart
final dio = Dio(BaseOptions(
baseUrl: 'https://api.example.com',
connectTimeout: Duration(seconds: 5),
receiveTimeout: Duration(seconds: 3),
));GET / POST
dart
// GET
final response = await dio.get('/users', queryParameters: {'page': 1});
// POST
final response = await dio.post('/users', data: {'name': 'YC'});拦截器
dart
dio.interceptors.add(InterceptorsWrapper(
onRequest: (options, handler) {
options.headers['Authorization'] = 'Bearer $token';
handler.next(options);
},
onError: (error, handler) {
// 统一错误处理
handler.next(error);
},
));