[flutter] dio_retry 패키지를 사용하여 서버 에러 처리하기
목차
dio_retry 패키지 소개
서버 통신 시에 가끔씩 서버 에러가 발생할 수 있습니다. 이때, 에러 처리를 해주어야 하는데, Flutter 애플리케이션에서는 dio_retry 패키지를 사용하여 서버 에러를 처리할 수 있습니다. dio_retry 패키지는 Dio HTTP 클라이언트를 보완해주는 패키지로, 요청이 실패했을 때 자동으로 재시도하도록 설정할 수 있습니다.
dio_retry 패키지 설치
pubspec.yaml 파일의 dependencies 섹션에 다음과 같이 dio_retry 패키지를 추가합니다.
dependencies:
dio: ^4.0.0
dio_retry: ^4.0.0
그리고 다음 명령어를 터미널에서 실행하여 패키지를 설치합니다.
flutter pub get
dio_retry 패키지 사용법
1. Dio 인스턴스 생성
먼저, dio_retry 패키지를 사용하기 위해 Dio 인스턴스를 생성합니다.
import 'package:dio/dio.dart';
import 'package:dio_retry/dio_retry.dart';
Dio dio = Dio();
2. dio_retry 설정
다음으로, dio 인스턴스에 dio_retry를 설정합니다. 이때, 최대 재시도 횟수와 간격을 정의할 수 있습니다.
dio.interceptors.add(
RetryInterceptor(
dio: dio,
options: const RetryOptions(
retries: 3, // 최대 재시도 횟수
retryInterval: const Duration(seconds: 2), // 재시도 간격
),
),
);
3. 서버 통신 요청
이제 설정한 dio 인스턴스를 사용하여 서버에 요청을 보냅니다.
try {
Response response = await dio.get('https://example.com/api/data');
// 성공 시 처리
} on DioError catch (e) {
if (e.type == DioErrorType.response) {
// 서버 응답 에러 처리
} else {
// 그 외 에러 처리
}
}
결론
dio_retry 패키지를 사용하면 효과적으로 서버 에러를 처리할 수 있습니다. 설정한 재시도 횟수와 간격에 따라 자동으로 재시도되므로, 안정적인 서버 통신을 구현할 수 있습니다.
참고 자료: