[flutter] 플러터를 사용하여 웹 서버와의 통신 방법

플러터는 다양한 플랫폼에서 애플리케이션을 개발할 수 있는 UI 프레임워크입니다. 플러터를 사용하면 iOS, Android, 웹 등 다양한 플랫폼에서 동작하는 앱을 개발할 수 있습니다. 이번 글에서는 플러터를 사용하여 웹 서버와의 통신 방법을 알아보겠습니다.

HTTP 패키지 사용하기

플러터에서 웹 서버와 통신하기 위해서는 HTTP 패키지를 사용해야 합니다. HTTP 패키지는 http 통신을 수행하는데 필요한 클래스와 함수를 제공합니다.

먼저, 프로젝트의 pubspec.yaml 파일에 다음과 같이 http 패키지를 추가해주세요.

dependencies:
  http: ^0.13.3

이제 패키지를 다운로드하고 임포트할 준비가 되었습니다. http 패키지를 임포트하고 웹 서버와 통신하는 코드를 작성해보겠습니다.

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

void main() {
  fetchData();
}

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

위의 코드는 http.get 함수를 사용하여 웹 서버에 GET 요청을 보내고, 응답을 받아와서 출력하는 간단한 예제입니다.

API 통신하기

일반적으로 웹 서버와 통신할 때는 API를 사용합니다. API는 웹 서버의 특정한 기능에 접근하기 위해 정의된 인터페이스입니다. 플러터에서는 http 패키지를 사용하여 API와 통신할 수 있습니다.

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

void main() {
  fetchData();
}

void fetchData() async {
  var response = await http.get(Uri.parse('https://api.example.com/data'));
  
  if (response.statusCode == 200) {
    // 성공적인 응답일 경우 데이터를 해석하여 사용합니다.
    print(response.body);
  } else {
    // 응답이 실패한 경우 에러 메시지를 출력합니다.
    print('Error: ${response.statusCode}');
  }
}

위의 코드는 API로부터 응답을 받아온 후, 응답의 상태 코드를 확인하여 성공인 경우 데이터를 출력하고, 실패인 경우 에러 메시지를 출력하는 예제입니다.

JSON 데이터 처리하기

웹 서버와 통신할 때 주로 사용하는 데이터 형식은 JSON입니다. 플러터에서는 dart:convert 패키지를 사용하여 JSON 데이터를 처리할 수 있습니다.

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

void main() {
  fetchData();
}

void fetchData() async {
  var response = await http.get(Uri.parse('https://api.example.com/data'));
  
  if (response.statusCode == 200) {
    var jsonData = json.decode(response.body);
    print(jsonData['message']);
  } else {
    print('Error: ${response.statusCode}');
  }
}

위의 코드는 API로부터 응답을 받아온 후, json.decode 함수를 사용하여 JSON 데이터를 해석한 후 원하는 데이터를 출력하는 예제입니다.

결론

플러터에서 웹 서버와의 통신은 HTTP 패키지를 사용하여 간단히 구현할 수 있습니다. API를 사용하거나 JSON 데이터를 처리하는 경우에도 유용하게 활용할 수 있습니다. 플러터의 다양한 기능과 함께 웹 서버와의 통신을 효과적으로 구현해보세요.

참고: