MST

星途 面试题库

面试题:Flutter网络请求日志记录的基础实现

在Flutter项目中,如何使用常见的HTTP请求库(如dio)实现简单的网络请求日志记录,包括请求的URL、请求方法、请求头和响应状态码?请给出关键代码示例。
22.8万 热度难度
前端开发Flutter

知识考点

AI 面试

面试题答案

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

然后运行 flutter pub get

  1. 实现日志记录
import 'package:dio/dio.dart';

class LoggingInterceptor extends Interceptor {
  @override
  void onRequest(RequestOptions options, RequestInterceptorHandler handler) {
    print('Request URL: ${options.uri}');
    print('Request Method: ${options.method}');
    print('Request Headers: ${options.headers}');
    return handler.next(options);
  }

  @override
  void onResponse(Response response, ResponseInterceptorHandler handler) {
    print('Response Status Code: ${response.statusCode}');
    return handler.next(response);
  }
}
  1. 使用日志拦截器
void main() async {
  Dio dio = Dio();
  dio.interceptors.add(LoggingInterceptor());

  try {
    Response response = await dio.get('https://example.com/api');
    print('Response Data: ${response.data}');
  } catch (e) {
    print('Error: $e');
  }
}