flutter dart3网络请求
时间: 2024-12-27 12:22:18 浏览: 12
### 如何在 Flutter 中使用 Dart 3 进行网络请求
#### 使用 `http` 库发送 GET 请求并解析 JSON 响应
为了在 Flutter 中执行 HTTP 请求,通常会依赖于第三方包如 `http` 或者更高级别的库比如 `dio`。这里展示的是基于 `http` 的简单实现方式。
安装 http 包,在项目的 pubspec.yaml 文件里添加如下依赖:
```yaml
dependencies:
flutter:
sdk: flutter
http: ^0.13.5
```
接着创建一个新的 Dart 函数来发起一个简单的 GET 请求,并将返回的数据转换成 Map 对象以便进一步操作[^2]。
```dart
import 'package:http/http.dart' as http;
import 'dart:convert';
Future<Map<String, dynamic>> fetchData(String url) async {
final response = await http.get(Uri.parse(url));
if (response.statusCode == 200) {
// 如果服务器返回 200 OK,则解析JSON数据.
return json.decode(response.body);
} else {
throw Exception('Failed to load data');
}
}
```
此函数接收 URL 参数作为输入参数,并尝试获取该地址的内容;如果状态码等于 200 表明请求成功完成,那么就调用 `json.decode()` 方法把字符串形式的 JSON 转换成对应的 Dart 数据结构(这里是 map 类型)。反之则抛出异常提示失败原因[^1]。
对于 POST 请求或者其他类型的请求可以参照上述模式调整方法签名以及内部逻辑即可满足需求。值得注意的是当涉及到复杂的场景时建议考虑采用 dio 等更为强大的工具简化开发流程提高效率。
阅读全文