본문 바로가기

Flutter & Dart

Flutter & Dart 플러터에서 API 호출하기: http vs dio 비교 가이드

반응형

API 호출은 플러터 앱에서 서버와의 통신에 중요한 역할을 합니다. 이 가이드에서는 http 패키지와 dio 패키지를 사용하여 API 호출하는 방법을 비교하며 설명하겠습니다.

1. 필요한 패키지 추가

http 패키지:

dependencies:
  flutter:
    sdk: flutter
  http: ^latest_version

dio 패키지:

dependencies:
  flutter:
    sdk: flutter
  dio: ^latest_version

2. http 패키지 사용법

2.1. 패키지 가져오기:

import 'package:http/http.dart' as http;

2.2. API 호출 함수 작성:

Future<void> fetchUsingHttp() async {
  final response = await http.get(Uri.parse("https://api.example.com/data"));

  if (response.statusCode == 200) {
    final jsonData = json.decode(response.body);
    setState(() {
      _data = jsonData["key"];
    });
  } else {
    throw Exception("Failed to fetch data");
  }
}

3. dio 패키지 사용법

3.1. 패키지 가져오기:

import 'package:dio/dio.dart';

3.2. API 호출 함수 작성:

Future<void> fetchUsingDio() async {
  final dio = Dio();
  try {
    final response = await dio.get("https://api.example.com/data");
    final jsonData = response.data;
    setState(() {
      _data = jsonData["key"];
    });
  } catch (e) {
    throw Exception("Failed to fetch data");
  }
}

4. http vs. dio

  • http 패키지는 간단한 API 호출에 적합하며, 기본적인 기능을 제공합니다. 빠르고 간편한 사용이 가능합니다.
  • dio 패키지는 더 많은 고급 기능과 설정을 제공하여 좀 더 복잡한 API 요청에 유용합니다. 인터셉터, 인증, 캐싱 등을 지원합니다.

5. 추가 고려사항

  • 선택한 패키지의 문서와 예제를 읽어보고, 프로젝트의 요구 사항에 맞게 패키지를 선택하세요.
  • API 호출 시 에러 처리와 응답 처리에 유의하여 코드를 작성하세요.
반응형