[flutter] 플러터에서의 외부 API 연동 방법

플러터 앱을 개발할 때, 외부 API(애플리케이션 프로그래밍 인터페이스)를 사용하여 데이터를 가져오는 것은 매우 일반적입니다. 예를 들어, 인증, 데이터 검색, 뉴스 기사 가져오기, 지리적 위치 기반 서비스 등을 위해서 API를 활용할 수 있습니다. 이 글에서는 플러터에서의 외부 API를 연동하는 방법을 살펴보겠습니다.

HTTP 패키지를 사용한 API 통신

가장 일반적인 방법은 http 패키지를 사용하여 외부 API와 통신하는 것입니다.

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

Future<void> fetchData() async {
  var url = 'https://api.example.com/data';
  var response = await http.get(url);

  if (response.statusCode == 200) {
    // API에서 가져온 데이터 처리
    print('Data: ${response.body}');
  } else {
    // 오류 처리
    print('Request failed with status: ${response.statusCode}.');
  }
}

위의 예제에서 http.get 메소드를 사용하여 외부 API에서 데이터를 가져오고, response.statusCode를 확인하여 성공 또는 실패를 처리합니다.

Dio 패키지를 사용한 API 통신

또 다른 방법으로는 dio 패키지를 사용하여 외부 API와 통신하는 것입니다. diohttp 패키지보다 더 많은 기능을 제공하며, 플러터 앱에서의 API 통신에 매우 유용합니다.

import 'package:dio/dio.dart';

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

위의 예제에서는 Dio().get 메소드를 사용하여 외부 API에서 데이터를 가져오고, 오류 처리를 위해 try-catch 문을 사용합니다.

플러터 패키지 활용

데이터를 가져온 후에는 이를 화면에 표시하거나 다른 작업에 활용해야합니다. 플러터에서는 FutureBuilderStreamBuilder와 같은 위젯을 사용하여 API로부터 데이터를 효율적으로 화면에 표시할 수 있습니다.

이렇게 플러터에서의 외부 API 연동은 어플리케이션에서 외부 데이터를 효과적으로 활용하여 다양한 서비스를 제공하는 데 도움이 됩니다.

외부 API 연동에 대한 보다 자세한 내용은 flutter.dev 웹사이트에서 확인할 수 있습니다.