[flutter] pretty_dio_logger를 사용한 앱 내 검색 기능 구현

이번 포스트에서는 Flutter 앱에서 pretty_dio_logger 라이브러리를 사용하여 네트워크 요청을 로깅하고, 이를 활용하여 앱 내 검색 기능을 구현하는 방법에 대해 알아보겠습니다.

1. pretty_dio_logger 라이브러리란?

pretty_dio_logger는 Dart 언어용 HTTP 클라이언트 라이브러리인 Dio의 요청과 응답을 보기 좋게 출력하는 라이브러리입니다.

2. pretty_dio_logger 설치

먼저 pubspec.yaml 파일에 pretty_dio_logger를 추가합니다.

dependencies:
  dio: ^4.0.0
  pretty_dio_logger: ^2.0.0

그런 다음 터미널에서 아래 명령을 실행하여 종속성을 업데이트합니다.

flutter pub get

3. pretty_dio_logger 사용하기

Dio의 Interceptors를 사용하여 pretty_dio_logger를 활성화하고 설정할 수 있습니다. 다음은 pretty_dio_logger를 Dio에 추가하는 방법입니다.

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

void main() {
  final dio = Dio();
  dio.interceptors.add(PrettyDioLogger());
}

4. 앱 내 검색 기능 구현

이제 pretty_dio_logger를 통해 네트워크 요청과 응답을 로깅할 수 있습니다. 예를 들어, 앱 내에서 사용자가 입력한 검색어를 서버로 전송하고, 응답을 받아 화면에 표시하는 간단한 검색 기능을 구현할 수 있습니다.

아래는 앱 내 검색 기능을 구현하는 예시 코드입니다.

void search(String keyword) async {
  try {
    Response response = await dio.post('/search', data: {'keyword': keyword});
    if (response.statusCode == 200) {
      // 검색 결과를 화면에 표시
      showSearchResults(response.data);
    } else {
      // 오류 처리
      showError('검색에 실패했습니다');
    }
  } catch (e) {
    showError('네트워크 오류: $e');
  }
}

void showSearchResults(dynamic data) {
  // 검색 결과를 화면에 표시하는 로직
}

void showError(String message) {
  // 오류 메시지를 사용자에게 표시하는 로직
}

5. 마무리

pretty_dio_logger 라이브러리를 사용하면 네트워크 요청과 응답을 쉽게 로깅할 수 있습니다. 이를 활용하여 앱 내에서 검색과 같은 기능을 구현할 때 유용하게 활용할 수 있습니다.

위의 예시는 pretty_dio_logger를 이용하여 앱 내 검색 기능을 구현하는 간단한 방법을 보여주고 있습니다. 여러분의 프로젝트에 적용해 보시기 바랍니다.