[flutter] Dio를 사용하여 비동기 요청의 결과를 처리하는 방법을 알려주세요.

Dio는 Flutter 애플리케이션에서 네트워크 요청을 보내고 응답을 처리하는데 사용되는 강력한 HTTP 클라이언트 라이브러리입니다. 이 블로그 포스트에서는 Dio를 사용하여 비동기 요청의 결과를 처리하는 방법에 대해 알아보겠습니다.

Dio 라이브러리 추가하기

먼저, pubspec.yaml 파일에 Dio 라이브러리를 추가해야 합니다. 아래와 같이 dependencies 섹션에 Dio를 추가하세요.

dependencies:
  dio: ^4.0.0

의존성을 추가한 후에는 터미널에서 flutter pub get 명령을 실행하여 라이브러리를 다운로드 및 설치해야 합니다.

Dio를 사용하여 비동기 요청 보내기

다음으로, Dio를 사용하여 비동기 요청을 보내는 방법에 대해 살펴봅시다. 아래는 Dio를 사용하여 GET 요청을 보내는 간단한 예제 코드입니다.

import 'package:dio/dio.dart';

void fetchData() async {
  Dio dio = Dio();
  try {
    Response response = await dio.get('https://api.example.com/data');
    print(response.data);
  } catch (e) {
    print('Error occurred: $e');
  }
}

위 코드에서는 fetchData 함수에서 Dio 인스턴스를 생성하고, get 메서드를 사용하여 지정된 URL에서 데이터를 가져오고 있습니다. 비동기 처리를 위해 async/await를 사용하여 요청에 대한 응답을 기다리고 있습니다. 성공적으로 응답을 받으면 데이터를 출력하고, 요청 중에 오류가 발생하면 오류 메시지를 출력하고 있습니다.

Dio 응답 결과 처리하기

Dio를 사용하여 비동기 요청의 결과를 처리하는 방법에 대해 살펴볼 차례입니다. Dio의 응답은 Response 객체로 나타납니다. 아래는 Dio 응답을 처리하는 간단한 예제 코드입니다.

Response response = await dio.get('https://api.example.com/data');
if (response.statusCode == 200) {
  // 성공적으로 데이터를 받은 경우
  print(response.data);
} else {
  // 요청이 실패한 경우
  print('Request failed with status: ${response.statusCode}');
}

위 코드에서는 받은 응답의 statusCode를 확인하여 요청이 성공했는지를 판별하고, 그에 따라 응답 데이터를 처리하고 있습니다.

Dio를 사용하여 비동기 요청을 보내고 그 결과를 처리하는 방법에 대해 알아보았습니다. Dio를 사용하면 간편하게 네트워크 요청을 처리할 수 있으며, 다양한 상황에 대응할 수 있는 기능을 제공합니다.

참고 자료