플러터(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 패키지의 공식 문서를 참조하세요.