[flutter] 플러터(Flutter)에서 네트워크 통신하기

플러터(Flutter) 앱을 개발할 때 네트워크 통신을 하기 위해서는 HTTP 요청을 보내고 받을 수 있는 방법을 알아야 합니다. 이번 글에서는 플러터에서의 네트워크 통신을 위한 방법에 대해 알아보겠습니다.

HTTP 패키지 사용하기

플러터에서는 HTTP 요청을 보내고 받기 위해 http 패키지를 사용할 수 있습니다. 이 패키지를 사용하면 간단하게 GET, POST 등 다양한 HTTP 요청을 보낼 수 있습니다.

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

Future<void> fetchData() async {
  String url = 'https://api.example.com/data';
  http.Response response = await http.get(url);
  if (response.statusCode == 200) {
    // 요청이 성공했을 때의 처리
    print(response.body);
  } else {
    // 요청이 실패했을 때의 처리
    print('Failed to load data');
  }
}

JSON 데이터 처리하기

대부분의 경우, 네트워크를 통해 받아오는 데이터는 JSON 형식일 것입니다. 플러터에서는 http 패키지와 함께 dart:convert 패키지를 사용하여 JSON 데이터를 손쉽게 처리할 수 있습니다.

import 'dart:convert';

Future<void> fetchData() async {
  String url = 'https://api.example.com/data';
  http.Response response = await http.get(url);
  if (response.statusCode == 200) {
    // JSON 데이터 파싱
    Map<String, dynamic> data = json.decode(response.body);
    // 파싱된 데이터 사용
    print(data['key']);
  } else {
    print('Failed to load data');
  }
}

패키지 의존성 추가하기

네트워크 통신을 위해 http 패키지를 사용하기 위해서는 pubspec.yaml 파일에 패키지 의존성을 추가해야 합니다.

dependencies:
  http: ^0.13.3

요약

플러터에서의 네트워크 통신은 http 패키지를 통해 간단하게 처리할 수 있습니다. HTTP 요청을 보내고 받아오는 것 외에도 JSON 데이터를 쉽게 처리할 수 있는 기능도 제공되므로, 편리하게 네트워크 통신 기능을 구현할 수 있습니다.

위의 예시에서는 GET 요청을 사용했지만, POST 등의 다른 요청 방법에 대해서도 http 패키지에서 제공하고 있으니 필요에 따라 적절히 활용하시면 됩니다.

이상으로 플러터에서의 네트워크 통신에 대한 간단한 가이드를 마치도록 하겠습니다.

참고 자료