MST
星途 面试题库

面试题:Flutter中Dio插件如何进行基本的网络请求

请描述在Flutter项目中使用Dio插件发起一个GET请求获取JSON数据,并处理响应的基本步骤及关键代码。
21.0万 热度难度
前端开发Flutter

知识考点

AI 面试

面试题答案

一键面试
  1. 添加依赖: 在pubspec.yaml文件中添加dio依赖:
dependencies:
  dio: ^[最新版本号]

然后运行flutter pub get

  1. 发起GET请求: 在需要发起请求的地方,导入dio库,并编写如下代码:
import 'package:dio/dio.dart';

Future<void> fetchData() async {
  try {
    // 创建Dio实例
    Dio dio = Dio();
    // 发起GET请求
    Response response = await dio.get('请求的URL');
    // 处理响应数据
    if (response.statusCode == 200) {
      print(response.data);
    } else {
      print('请求失败,状态码:${response.statusCode}');
    }
  } catch (e) {
    print('请求发生错误:$e');
  }
}

在上述代码中:

  • 首先创建了一个Dio实例。
  • 使用dio.get方法发起GET请求,传入请求的URL。
  • 对响应进行检查,若状态码为200则表示请求成功,可对response.data进行进一步处理(这里只是简单打印),否则打印失败信息。
  • 使用try-catch捕获可能发生的错误并打印。
  1. 调用方法: 在合适的地方调用fetchData方法,例如在initState方法中:
class MyHomePage extends StatefulWidget {
  const MyHomePage({super.key});

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  @override
  void initState() {
    super.initState();
    fetchData();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('Dio GET请求示例'),
      ),
      body: const Center(),
    );
  }
}