[flutter] Dio_logger를 통해 플러터 앱에서 API 요청에 전달되는 헤더 정보를 확인하는 방법

플러터(Flutter)에서 API 요청을 보낼 때, 요청에 포함된 헤더 정보를 확인하고 싶을 수 있습니다. Dio 라이브러리는 플러터에서 HTTP 요청을 처리하는 강력한 패키지이며, Dio Logger를 사용하면 간편하게 요청과 응답에 포함된 헤더 정보를 확인할 수 있습니다. 이번 블로그 포스트에서는 Dio Logger를 통해 플러터 앱에서 API 요청에 전달되는 헤더 정보를 확인하는 방법을 알아보겠습니다.

1. Dio Logger 패키지 설치

Dio Logger 패키지를 사용하기 위해서는 먼저 dio_logger 패키지를 프로젝트에 추가해야 합니다. pubspec.yaml 파일에 아래와 같이 의존성을 추가합니다.

dependencies:
  dio: ^4.0.0
  dio_logger: ^4.0.0

의존성을 추가한 뒤, 터미널에서 flutter pub get 명령어를 실행하여 패키지를 설치합니다.

2. Dio Logger 사용하기

Dio Logger를 사용하기 위해서는 Dio 인스턴스를 생성하고 Interceptor를 추가해야 합니다. 아래 예제 코드를 참고하여 Dio Logger를 설정해보겠습니다.

import 'package:dio/dio.dart';
import 'package:dio_logger/dio_logger.dart';

void main() {
  final dio = Dio();
  
  // Dio Logger 인스턴스 생성 및 추가
  final logger = DioLogger(requestBody: true, responseBody: true);
  dio.interceptors.add(logger);
  
  // API 요청 예시
  dio.get('https://example.com/api/data');
}

위의 예제 코드에서 Dio()를 통해 Dio 인스턴스를 생성하고, DioLogger를 만들어 dio.interceptors에 추가합니다. DioLogger 생성자의 인자로는 requestBodyresponseBody를 전달할 수 있으며, 이를 true로 설정하여 헤더 정보와 요청/응답 바디 정보를 로깅할 수 있습니다.

3. 헤더 정보 확인하기

Dio Logger를 설정한 후에는 API 요청을 보낼 때 헤더 정보가 로그로 출력됩니다. 다음은 Dio Logger를 사용한 플러터 앱에서 헤더 정보를 확인하는 예제입니다.

Dio log. [GET]: 'https://example.com/api/data' 
Headers:
{
  "user-agent": "dio/4.0.0 (dart:io)",
  "accept-language": "en-US;q=0.8",
  "content-length": "0"
}

위의 로그에서 Headers 부분이 헤더 정보를 나타냅니다. 이를 통해 API 요청에 전달된 헤더 정보를 확인할 수 있습니다.

결론

Dio Logger를 사용하면 플러터 앱에서 API 요청에 전달되는 헤더 정보를 간편하게 확인할 수 있습니다. Dio Logger는 Dio 라이브러리와 함께 사용하는 것이 일반적이며, requestBodyresponseBody 옵션을 조정하여 필요한 정보를 로깅할 수 있습니다. 헤더 정보를 확인하여 API 요청이 올바르게 전달되는지 검증하거나, 디버깅 및 로깅에 활용할 수 있습니다.