Flutter 网络请求框架封装,如何试出一个Android开发者真正的水平
在Flutter中,你可以使用http
包来发送网络请求,并可以通过封装来简化代码。以下是一个简单的封装例子:
首先,在pubspec.yaml
中添加依赖:
dependencies:
flutter:
sdk: flutter
http: ^0.13.3 # 确保使用最新版本
然后,创建一个封装网络请求的类:
import 'package:http/http.dart' as http;
class NetworkService {
// 发送GET请求
Future<String> getData(String url) async {
final response = await http.get(Uri.parse(url));
if (response.statusCode == 200) {
return response.body;
} else {
throw Exception('Failed to load data');
}
}
// 发送POST请求
Future<String> postData(String url, {required Map<String, String> body}) async {
final response = await http.post(Uri.parse(url), body: body);
if (response.statusCode == 200) {
return response.body;
} else {
throw Exception('Failed to post data');
}
}
}
使用该类发送请求:
void main() async {
final networkService = NetworkService();
try {
final getResponse = await networkService.getData('https://api.example.com/data');
print('GET Response: $getResponse');
final postResponse = await networkService.postData('https://api.example.com/data', body: {'key': 'value'});
print('POST Response: $postResponse');
} catch (e) {
print('Error: $e');
}
}
这个封装提供了基本的GET和POST请求方法,并处理了异常。在实际应用中,你可能需要添加更多功能,比如请求认证、错误处理、取消请求、请求配置管理等。
评论已关闭