[flutter] 플러터(Flutter)로 원격 데이터베이스 연동하기

플러터(Flutter) 앱에서 원격 데이터베이스를 사용하여 데이터를 저장하고 관리하려면 백엔드 서비스와의 연동이 필요합니다. 이를 효율적으로 수행하기 위해서는 HTTP 요청을 보내고 받는 방법을 이해해야 합니다.

HTTP 패키지 사용하기

플러터에서는 HTTP 요청을 보내는 데 사용할 수 있는 다양한 패키지가 있습니다. 그 중에서도 http 패키지는 간편한 API를 제공하여 원격 데이터베이스와의 통신을 용이하게 합니다.

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

Future<void> fetchData() async {
  var response = await http.get(Uri.parse('https://api.example.com/data'));
  if (response.statusCode == 200) {
    // 데이터가 성공적으로 수신된 경우
    print(response.body);
  } else {
    // 오류로 인해 데이터를 가져오지 못한 경우
    throw Exception('Failed to load data');
  }
}

위 예시 코드에서는 http 패키지를 사용하여 GET 요청을 수행하고, 서버로부터 데이터를 수신한 후 상태 코드를 확인하는 방법을 보여줍니다.

데이터베이스와 연동하기

플러터 앱에서 원격 데이터베이스와 연동하기 위해서는 데이터를 JSON 형식으로 주고받는 것이 일반적입니다. 받아온 데이터를 모델 클래스로 변환하거나, 입력 폼으로부터 받은 데이터를 JSON 형식으로 변환하여 서버에 전송하는 등의 작업을 해야 합니다.

import 'dart:convert';

class Item {
  final String name;
  final String description;

  Item({required this.name, required this.description});

  factory Item.fromJson(Map<String, dynamic> json) {
    return Item(
      name: json['name'],
      description: json['description'],
    );
  }

  Map<String, dynamic> toJson() {
    return {
      'name': name,
      'description': description,
    };
  }
}

위 코드는 데이터를 주고받기 위한 모델 클래스를 정의하는 방법을 보여줍니다. fromJson 메서드는 JSON을 Item 객체로 변환하고, toJson 메서드는 Item 객체를 JSON으로 변환합니다.

마치며

이제 플러터 앱에서 외부 데이터베이스와의 연동을 위한 기본적인 지식을 살펴보았습니다. HTTP 패키지를 사용하여 원격 데이터베이스와 통신하고, 데이터를 변환하는 방법을 확인했습니다. 효율적인 데이터 관리를 위해 원격 데이터베이스 연동에 대해 더 알아보는 것이 좋겠네요.