[flutter] HTTP GET 요청을 플러터 앱에서 처리하는 방법은 무엇인가요?

플러터(Flutter)를 사용하여 앱을 개발할 때, 외부 서버와의 통신을 위해 HTTP GET 요청을 처리해야 할 때가 있습니다. 이를 위해 Dart의 http 패키지를 사용할 수 있습니다. 아래는 HTTP GET 요청을 플러터 앱에서 처리하는 방법에 대한 예제입니다.

먼저, http 패키지를 pubspec.yaml 파일에 추가해야 합니다. 다음과 같이 의존성을 선언하세요:

dependencies:
  http: ^0.13.1

의존성을 추가한 후, 패키지를 가져와서 사용할 준비를 해야 합니다. 다음과 같이 import 문을 추가하세요:

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

이제 GET 요청을 보내는 함수를 만들어 보겠습니다. 다음과 같이 작성하세요:

Future<void> fetchPost() async {
  var url = Uri.parse('https://api.example.com/posts');

  var response = await http.get(url);

  if (response.statusCode == 200) {
    // 서버로부터 데이터를 성공적으로 가져왔을 경우 처리
    print(response.body);
  } else {
    // 서버에서 오류가 발생한 경우 처리
    print('Request failed with status: ${response.statusCode}.');
  }
}

위 코드에서는 http.get() 메서드를 사용하여 GET 요청을 보냅니다. 요청을 보낼 URL을 Uri.parse() 메서드를 사용하여 파싱한 후, http.get() 메서드에 전달합니다. 이 때, await을 사용하여 비동기적으로 응답을 기다리고, 응답이 도착하면 response 변수에 저장합니다.

응답 상태 코드를 확인하여 요청이 성공했는지, 오류가 발생했는지를 확인할 수 있습니다. 위 코드에서는 상태 코드가 200(OK)인 경우 데이터를 성공적으로 가져온 것으로 간주하고, response.body를 출력하고 있습니다. 상태 코드가 200이 아닌 경우에는 오류가 발생한 것으로 간주하고, 오류 상태 코드를 출력하고 있습니다.

이제 위에서 만든 함수를 필요한 곳에서 호출하여 사용할 수 있습니다.

위의 예제는 간단한 GET 요청을 처리하는 방법에 대한 예시입니다. 필요에 따라 요청에 헤더, 쿼리 파라미터 등을 추가할 수도 있습니다. 자세한 내용은 http 패키지의 공식 문서를 참조하세요.