[flutter] 플러터 get과 REST API 사용

플러터(Flutter)는 구글에서 개발한 오픈 소스 UI 솔루션으로, 모바일 앱 개발을 위한 효율적이며 세련된 도구입니다. 이 포스트에서는 플러터 앱에서 GET을 사용하여 웹 서버로부터 데이터를 가져오고, REST API를 통해 데이터를 송수신하는 방법에 대해 알아보겠습니다.

GET 요청 보내기

플러터에서는 http 패키지를 이용하여 GET 요청을 보낼 수 있습니다. 먼저, pubspec.yaml 파일에 http 패키지를 추가하세요.

예시:

dependencies:
  flutter:
    sdk: flutter
  http: ^0.14.0

다음으로, http 패키지를 가져와서 GET 요청을 보내는 메서드를 구현합니다.

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

Future<void> fetchData() async {
  final response = await http.get('https://example.com/api/data');
  if (response.statusCode == 200) {
    print(response.body);
  } else {
    throw Exception('Failed to load data');
  }
}

위 코드에서는 http.get() 메서드를 사용하여 URL로부터 데이터를 가져옵니다. response.statusCode를 통해 응답 상태 코드를 확인하고, response.body를 통해 응답 데이터에 접근할 수 있습니다.

REST API 사용하기

REST API란 HTTP를 통해 자원을 생성, 조회, 수정, 삭제하는 웹 서비스를 말합니다. 플러터에서 REST API를 사용하는 것은 GET 요청뿐만 아니라 POST, PUT, DELETE 등의 HTTP 메서드를 통해 데이터를 송수신하는 것을 의미합니다.

예를 들어, 사용자 정보를 조회하는 GET 요청을 보내는 경우 다음과 같이 구현할 수 있습니다.

Future<User> fetchUser() async {
  final response = await http.get('https://example.com/api/user/123');

  if (response.statusCode == 200) {
    return User.fromJson(jsonDecode(response.body));
  } else {
    throw Exception('Failed to load user');
  }
}

위 코드에서 fetchUser() 메서드는 http.get()을 사용하여 사용자 정보를 가져오고, 응답 데이터를 User.fromJson() 메서드를 통해 User 객체로 변환합니다.

마무리

이제 플러터 앱에서 GET을 사용하여 웹 서버로부터 데이터를 가져오고, REST API를 통해 데이터를 송수신하는 방법에 대해 알게 되었습니다. 이를 응용하여 실제 프로젝트에 적용해 보세요. 플러터를 통해 다양한 웹 서비스와 통신할 수 있는 기능을 활용하여 보다 다이내믹하고 풍부한 앱을 개발할 수 있습니다.


참고 자료: