[flutter] 플러터 GET 요청에 대한 에러 핸들링을 어떻게 할 수 있나요?

플러터에서 GET 요청을 처리할 때, 때로는 서버에서 에러 응답을 받을 수 있습니다. 이러한 경우에는 앱이 이 에러를 적절하게 처리하여 사용자에게 적절한 피드백을 제공해야 합니다. 플러터에서는 이러한 에러 핸들링을 위해 다양한 방법을 제공하고 있습니다. 아래의 방법 중 한 가지를 선택하여 사용할 수 있습니다.

  1. try-catch 구문을 사용하여 에러 핸들링하기

가장 일반적인 방법은 try-catch 구문을 사용하여 GET 요청 코드를 감싸는 것입니다. 이렇게 하면 서버에서 에러 응답이 오면 catch 블록에서 해당 에러를 처리할 수 있습니다. 예를 들어:

try {
  final response = await http.get(url);
  // 정상적으로 응답이 온 경우
  if (response.statusCode == 200) {
    // 응답 처리 로직
  } else {
    // 에러 응답 처리 로직
  }
} catch (e) {
  // 네트워크 에러 등 예외 발생 시 처리 로직
}

이렇게 하면 GET 요청에 대한 에러 응답과 네트워크 에러를 모두 처리할 수 있습니다. 에러 응답에 따라서 적절한 사용자 인터페이스를 제공하거나 로깅을 수행할 수 있습니다.

  1. Dio 패키지를 사용하여 에러 핸들링하기

Dio는 네트워킹을 처리하기 위한 강력한 패키지로, GET 요청에 대한 에러 핸들링을 더욱 간편하게 해줍니다. 다음은 Dio 패키지를 사용한 예시입니다:

먼저, 프로젝트의 pubspec.yaml 파일에 Dio 패키지를 추가합니다:

dependencies:
  dio: ^4.0.0

그런 다음, 아래와 같이 GET 요청을 처리하고 에러 핸들링을 수행할 수 있습니다:

import 'package:dio/dio.dart';

final Dio dio = Dio();

try {
  final response = await dio.get(url);
  // 정상적으로 응답이 온 경우
  if (response.statusCode == 200) {
    // 응답 처리 로직
  } else {
    // 에러 응답 처리 로직
  }
} catch (e) {
  // 네트워크 에러 등 예외 발생 시 처리 로직
}

Dio를 사용하면 더욱 다양한 기능과 에러 핸들링 옵션을 활용할 수 있습니다. 자세한 내용은 Dio 패키지의 공식 문서를 참조하시기 바랍니다.

위의 방법 중 하나를 선택하여 플러터 GET 요청에 대한 에러 핸들링을 수행할 수 있습니다. 선택한 방법을 통해 사용자에게 적절한 에러 메시지를 제공하고, 앱의 안정성과 사용자 경험을 향상시키세요.

참고 자료: