在Flutter中,处理网络请求通常使用http库。以下是一个简单的示例,展示了如何使用http库发起GET和POST请求。
首先,确保在pubspec.yaml文件中添加了http依赖:
dependencies:
flutter:
sdk: flutter
http: ^0.13.3
然后,导入http库:
import 'package:http/http.dart' as http;
Future<String> fetchGetRequest(String url) async {
try {
// 发起GET请求
final response = await http.get(Uri.parse(url));
// 检查响应状态码
if (response.statusCode == 200) {
// 如果请求成功,返回响应体
return response.body;
} else {
// 如果请求失败,返回错误信息
return '请求失败,状态码:${response.statusCode}';
}
} catch (e) {
// 处理异常情况
return '发生异常:$e';
}
}
Future<String> fetchPostRequest(String url, {Map<String, String> headers, String body}) async {
try {
// 发起POST请求
final response = await http.post(
Uri.parse(url),
headers: headers,
body: body,
);
// 检查响应状态码
if (response.statusCode == 200) {
// 如果请求成功,返回响应体
return response.body;
} else {
// 如果请求失败,返回错误信息
return '请求失败,状态码:${response.statusCode}';
}
} catch (e) {
// 处理异常情况
return '发生异常:$e';
}
}
void main() async {
// 发起GET请求
String getResponse = await fetchGetRequest('https://jsonplaceholder.typicode.com/todos/1');
print('GET请求结果:$getResponse');
// 发起POST请求
Map<String, String> headers = {'Content-Type': 'application/json'};
String postResponse = await fetchPostRequest('https://jsonplaceholder.typicode.com/posts', headers: headers, body: '{"title":"foo","body":"bar","userId":1}');
print('POST请求结果:$postResponse');
}
这个示例展示了如何使用http库发起GET和POST请求,并处理响应。你可以根据自己的需求修改这个示例。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。