[flutter] Dio_logger를 통해 플러터 앱에서 API 요청과 응답에 대한 쿼리 파라미터를 확인하는 방법

API 개발과 관련된 작업을 하다보면 플러터 앱에서 API 요청과 응답에 대한 쿼리 파라미터를 확인하는 것이 매우 유용합니다. 이를 위해 dio_logger 패키지를 사용하여 간단하게 구현할 수 있습니다. dio_logger는 Dio 패키지에 의해 실행되는 API 요청 및 응답을 로깅하는 데 사용됩니다.

Dio_logger 패키지 설치

먼저 Dio_logger 패키지를 프로젝트에 설치해야 합니다. pubspec.yaml 파일에 아래와 같이 패키지를 추가해주세요:

dev_dependencies:
  dio_logger: ^1.0.6

설치가 완료되면 터미널에서 flutter packages get 명령을 실행하여 패키지를 다운로드 및 적용합니다.

Dio_logger 설정

Dio_logger를 사용하기 위해 Dio 클라이언트를 생성하고 설정해야 합니다. 아래와 같이 코드를 작성해주세요.

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

var dio = Dio();

void setupDioLogger() {
  dio.interceptors.add(DioLogger());
}

위의 코드는 dio_logger를 Dio 인터셉터로 추가하여 Dio 객체를 생성 및 설정합니다.

Dio 클라이언트 사용

이제 Dio 클라이언트를 사용하여 API 요청을 할 수 있습니다. 아래는 예시입니다:

void fetchPosts() async {
  var response = await dio.get('https://api.example.com/posts', queryParameters: {'sort': 'desc'});
  print(response.data);
}

위와 같이 dio.get() 메소드를 통해 API에 GET 요청을 보낼 수 있습니다. queryParameters 매개변수를 통해 요청에 쿼리 파라미터를 추가할 수 있습니다. 이 경우에는 'sort'라는 키와 'desc'라는 값으로 정렬 방식을 지정하고 있습니다.

콘솔 로그 확인

앱을 실행하고 API 요청을 하면 Dio_logger에 의해 로깅된 정보가 콘솔에 출력됩니다. 예를 들면 아래와 같은 출력을 볼 수 있습니다.

I/flutter (21672): ┌─────────────────────────────────────────────────────────────────────────────────────────
I/flutter (21672): │ URL: GET https://api.example.com/posts?sort=desc
I/flutter (21672): │
I/flutter (21672): │ statusCode: 200, duration: 368ms
I/flutter (21672): ├─────────────────────────────────────────────────────────────────────────────────────────
I/flutter (21672): │RESPONSE:
I/flutter (21672): │{
I/flutter (21672): │  "data": [
I/flutter (21672): │    {
I/flutter (21672): │      "id": 1,
I/flutter (21672): │      "title": "Example Post 1"
I/flutter (21672): │    },
I/flutter (21672): │    {
I/flutter (21672): │      "id": 2,
I/flutter (21672): │      "title": "Example Post 2"
I/flutter (21672): │    }
I/flutter (21672): │  ]
I/flutter (21672): │}
I/flutter (21672): └─────────────────────────────────────────────────────────────────────────────────────────

위의 로그에서는 API 요청 URL과 응답 내용이 자세히 로깅되어 있습니다. 쿼리 파라미터인 'sort'가 요청 URL에 표시되고 응답 내용도 확인할 수 있습니다.

이제 여러분은 dio_logger 패키지를 활용하여 플러터 앱에서 API 요청 및 응답에 대한 쿼리 파라미터를 확인할 수 있습니다!