[flutter] dio_retry 패키지를 이용한 인증 오류 처리 방법
인증 오류는 모바일 앱에서 흔히 발생하는 문제 중 하나입니다. 주로 인증 토큰이 만료되거나 유효하지 않을 때 발생하는데, 이를 처리하기 위해서는 네트워킹 라이브러리인 Dio와 dio_retry 패키지를 함께 사용할 수 있습니다.
1. dio_retry 패키지 추가
우선, pubspec.yaml 파일에 dio_retry 패키지를 추가합니다.
dependencies:
dio: ^4.0.0
dio_retry: any
그리고 터미널에서 flutter pub get
명령어를 실행하여 패키지를 설치합니다.
2. DioInterceptor 설정
다음으로, DioInterceptor를 설정하여 인증 오류가 발생했을 때 자동으로 재시도할 수 있도록 만들어야 합니다.
import 'package:dio/dio.dart';
import 'package:dio_retry/dio_retry.dart';
void main() {
final dio = Dio();
dio.interceptors.add(RetryInterceptor(
dio: dio,
options: const RetryOptions(
retries: 3,
),
));
}
위의 코드에서는 3번까지 재시도하도록 설정했지만, 필요에 따라 이 값을 조정할 수 있습니다.
3. 인증 오류 처리
마지막으로, DioInterceptor를 사용하여 인증 오류를 처리합니다.
try {
final response = await dio.get('https://example.com/api/data');
// 성공적으로 데이터를 받아온 경우의 처리
} on DioError catch (e) {
if (e.response?.statusCode == 401) {
// 인증 오류가 발생한 경우의 처리
} else {
// 기타 네트워크 오류가 발생한 경우의 처리
}
}
위의 코드에서는 DioError를 활용하여 인증 오류를 처리하는 부분을 보여줍니다.
이제, dio_retry 패키지를 사용하여 Flutter 앱에서 인증 오류를 처리하는 방법을 알아보았습니다.
더 자세한 내용은 dio_retry 패키지 공식 문서를 참고하시기 바랍니다.