Flutter 中的 REST API 调用:使用 dio 库

Flutter 中的 REST API 调用:使用 dio 库

5 回复

使用dio库在Flutter中调用REST API,需导入dio库并配置请求选项。

更多关于Flutter 中的 REST API 调用:使用 dio 库的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


在 Flutter 中,使用 dio 库进行 REST API 调用时,首先导入 dio,然后创建 Dio 实例,通过 getpost 等方法发送请求并处理响应。

在 Flutter 中,使用 dio 库进行 REST API 调用非常方便。首先,在 pubspec.yaml 中添加依赖:

dependencies:
  dio: ^4.0.0

然后,导入库并创建 Dio 实例:

import 'package:dio/dio.dart';

final dio = Dio();

进行 GET 请求:

Response response = await dio.get('https://jsonplaceholder.typicode.com/posts');
print(response.data);

进行 POST 请求:

Response response = await dio.post(
  'https://jsonplaceholder.typicode.com/posts',
  data: {'title': 'foo', 'body': 'bar', 'userId': 1},
);
print(response.data);

dio 还支持拦截器、超时设置等功能,适用于复杂的 API 调用场景。

使用dio库在Flutter中调用REST API,需导入dio库并配置请求选项。

在 Flutter 中,dio 是一个非常流行的网络请求库,用于处理 HTTP 请求。它支持 REST API 调用,并且比 Flutter 自带的 http 包功能更强大,例如支持拦截器、文件上传、请求取消等。

以下是如何在 Flutter 中使用 dio 库进行 REST API 调用的基本步骤:

1. 添加依赖

首先,在 pubspec.yaml 文件中添加 dio 依赖:

dependencies:
  flutter:
    sdk: flutter
  dio: ^5.0.0

然后运行 flutter pub get 来安装依赖。

2. 创建 Dio 实例

在你的 Dart 文件中,首先导入 dio 库,然后创建一个 Dio 实例:

import 'package:dio/dio.dart';

final dio = Dio();

3. 发起 GET 请求

使用 dio.get 方法来发起 GET 请求:

void fetchData() async {
  try {
    final response = await dio.get('https://jsonplaceholder.typicode.com/posts/1');
    print(response.data);
  } catch (e) {
    print('Error: $e');
  }
}

4. 发起 POST 请求

使用 dio.post 方法来发起 POST 请求:

void postData() async {
  try {
    final response = await dio.post(
      'https://jsonplaceholder.typicode.com/posts',
      data: {
        'title': 'foo',
        'body': 'bar',
        'userId': 1,
      },
    );
    print(response.data);
  } catch (e) {
    print('Error: $e');
  }
}

5. 处理响应

dio 的响应对象包含了 datastatusCode 等信息,你可以根据需要处理这些数据。

6. 添加拦截器

dio 支持拦截器,你可以在请求发送前或响应收到后添加一些自定义逻辑:

dio.interceptors.add(InterceptorsWrapper(
  onRequest: (options, handler) {
    // 在请求发送前做一些处理,例如添加 token
    options.headers['Authorization'] = 'Bearer your_token';
    return handler.next(options);
  },
  onResponse: (response, handler) {
    // 在响应收到后做一些处理
    return handler.next(response);
  },
  onError: (DioError e, handler) {
    // 在请求出错时做一些处理
    return handler.next(e);
  },
));

7. 其他功能

dio 还支持文件上传、下载、请求取消等功能,具体可以参考 dio 官方文档

通过以上步骤,你就可以在 Flutter 中使用 dio 库进行 REST API 调用了。

回到顶部