[flutter] 플러터(Flutter)와 REST API 연동하기

플러터(Flutter)는 Google에서 개발한 UI 프레임워크로, 아름답고 반응형인 사용자 인터페이스를 만들 수 있게 해줍니다. 하지만 앱이 서버와 상호작용해야 할 때, REST API 연동이 필요할 수 있습니다. 이번 글에서는 플러터(Flutter)와 REST API를 어떻게 연동할 수 있는지 알아보겠습니다.

REST API란?

REST API는 Representational State Transfer API의 약자로, 웹 서버와 클라이언트 간의 통신을 위한 아키텍처 스타일 중 하나입니다. RESTful API는 HTTP 프로토콜을 기반으로 데이터를 전송하고 요청하는 방식을 의미합니다. 플러터(Flutter) 앱에서는 이러한 REST API를 통해 서버와 데이터를 주고받을 수 있습니다.

플러터(Flutter)에서 REST API 사용하기

플러터(Flutter)에서 REST API를 사용하는 가장 일반적인 방법은 http 패키지를 활용하는 것입니다. 이 패키지는 HTTP 요청을 보내고 응답을 받는 기능을 제공합니다. 아래는 플러터(Flutter)에서 REST API를 사용하는 예제 코드입니다.

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

Future<void> fetchPosts() async {
  var response = await http.get(Uri.parse('https://api.example.com/posts'));
  
  if (response.statusCode == 200) {
    print(response.body);
  }
}

위의 예제 코드에서는 http.get() 메서드를 사용하여 REST API에서 데이터를 가져옵니다. response.statusCode를 통해 응답 상태 코드를 확인할 수 있으며, response.body를 통해 응답 본문을 받아올 수 있습니다.

JSON 데이터 파싱하기

서버로부터 받은 데이터는 일반적으로 JSON 형식으로 제공됩니다. 이러한 데이터를 플러터(Flutter) 앱에서 사용하기 위해서는 JSON 데이터를 파싱해야 합니다. 플러터(Flutter)는 dart:convert 패키지를 통해 JSON 데이터를 쉽게 파싱할 수 있습니다.

import 'dart:convert';

void parsePosts(String responseBody) {
  var parsedData = json.decode(responseBody);
  
  for (var post in parsedData) {
    print(post['title']);
    print(post['content']);
  }
}

위의 예제 코드에서는 json.decode() 메서드를 사용하여 JSON 데이터를 Map으로 파싱합니다. 그리고 for 루프를 사용하여 각각의 게시물의 titlecontent를 출력합니다.

마무리

이상으로 플러터(Flutter) 앱과 REST API를 연동하는 방법에 대해 알아보았습니다. http 패키지를 사용하여 REST API에 요청을 보내고 응답을 받는 것은 플러터(Flutter)에서 아주 일반적인 작업입니다. JSON 데이터 파싱을 통해 서버로부터 받은 데이터를 효과적으로 처리할 수 있습니다. REST API 연동은 플러터(Flutter) 앱 개발에서 기본적이면서도 중요한 요소이므로, 여러분의 앱에 REST API 연동을 적용해보세요!


참고 문서: