[flutter] 플러터(flutter)에서의 네트워크 통신 구현 방법

플러터(Flutter)는 Google에서 개발한 크로스 플랫폼 프레임워크로, 하나의 코드베이스로 안드로이드와 iOS 애플리케이션을 개발할 수 있습니다. 네트워크 통신은 많은 애플리케이션에서 필수적인 기능 중 하나이며, 이번 글에서는 플러터에서의 네트워크 통신 구현 방법에 대해 알아보겠습니다.

네트워크 라이브러리 선택

플러터에서는 다양한 네트워크 라이브러리를 사용할 수 있습니다. 가장 인기있는 라이브러리 중 하나는 http 패키지입니다. 이 패키지는 간단하고 직관적인 API를 제공하며, 다양한 HTTP 요청 메서드를 지원합니다. http 패키지를 사용하여 네트워크 통신을 구현해보겠습니다.

http 패키지 설치

먼저, http 패키지를 프로젝트에 추가해야 합니다. pubspec.yaml 파일에 다음과 같이 http 패키지를 추가합니다:

dependencies:
  http: ^0.13.3

그리고 패키지를 적용하기 위해 터미널에서 다음 명령을 실행합니다:

flutter pub get

네트워크 요청 보내기

이제 http 패키지를 사용하여 네트워크 요청을 보내보겠습니다. 아래는 GET 요청을 보내는 예제 코드입니다:

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

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

  if (response.statusCode == 200) {
    // 요청이 성공한 경우
    print(response.body);
  } else {
    // 요청이 실패한 경우
    print('Error: ${response.statusCode}');
  }
}

위 코드에서는 http.get() 메서드를 사용하여 GET 요청을 보내고, 응답을 비동기로 기다립니다. 응답이 성공적으로 받아진 경우 response.statusCode를 확인하여 상태 코드를 처리하며, response.body에서 응답 데이터를 가져옵니다.

POST 요청을 보내는 경우에는 http.post() 메서드를 사용하고, 요청 본문에 데이터를 추가할 수 있습니다:

var url = Uri.parse('https://api.example.com/data');
var response = await http.post(url, body: {'name': 'John', 'email': 'john@example.com'});

위 코드에서는 body 파라미터를 사용하여 요청 본문에 데이터를 추가하고 있습니다.

요청 헤더 설정

http 패키지를 사용하면 요청 헤더를 설정할 수도 있습니다. 아래 코드는 헤더에 인증 토큰을 추가하는 예제입니다:

var url = Uri.parse('https://api.example.com/data');
var headers = {'Authorization': 'Bearer <your_token_here>'};
var response = await http.get(url, headers: headers);

위 코드에서는 headers 맵을 생성하여 헤더에 추가할 정보를 설정하고 있습니다.

요약

이번 글에서는 플러터에서의 네트워크 통신 구현 방법에 대해 알아보았습니다. http 패키지를 사용하여 간단하고 효율적인 네트워크 요청을 보낼 수 있습니다. 네트워크 통신은 플러터 애플리케이션의 중요한 부분이므로, 실제 프로젝트에서는 더 다양한 기능들을 활용하여 구현할 수 있습니다. 자세한 내용은 공식 문서를 참고하세요.