[flutter] Dio를 사용하여 요청과 응답에 인터셉터를 적용하여 로깅하는 방법을 알려주세요.

Dio 라이브러리 설치

먼저, Dio를 프로젝트에 추가해야 합니다. pubspec.yaml 파일에 다음을 추가하십시오:

dependencies:
  dio: ^4.0.0

그런 다음 터미널에서 다음 명령어를 실행하여 Dio를 설치합니다:

flutter pub get

인터셉터 생성

Dio에서는 Interceptors를 사용하여 로깅을 구현할 수 있습니다.

import 'package:dio/dio.dart';

void main() {
  Dio dio = Dio();

  dio.interceptors.add(InterceptorsWrapper(
    onRequest: (options, handler) {
      // TODO: 요청 로깅
      print('===> Request: ${options.method} ${options.uri}');
      return handler.next(options);
    },
    onResponse: (response, handler) {
      // TODO: 응답 로깅
      print('<=== Response: ${response.statusCode} ${response.statusMessage}');
      return handler.next(response);
    },
    onError: (DioError e, handler) {
      // TODO: 에러 로깅
      print('xxx Error: ${e.message}');
      return handler.next(e);
    }
  ));

  // 나머지 코드
}

위의 코드에서 InterceptorsWrapper를 사용하여 onRequest, onResponse, onError를 구현하여 각각 요청, 응답, 에러에 대한 로깅을 처리할 수 있습니다.

이제 Dio를 사용하여 API 요청을 보낼 때마다 해당 요청 및 응답에 대한 로깅이 이루어질 것입니다.

위의 예제를 참고하여 Dio를 사용하여 로깅하는 방법에 대해 알아보았습니다.