[flutter] 플러터에서 GET 메소드를 사용하여 특정 도시의 날씨 정보를 가져오는 방법은 무엇인가요?
플러터에서 GET 메소드를 사용하여 API를 호출하는 방식으로 특정 도시의 날씨 정보를 가져올 수 있습니다. 이를 구현하기 위해 다음과 같은 단계를 따를 수 있습니다.
- HTTP 패키지 추가:
http
패키지를pubspec.yaml
파일의dependencies
섹션에 추가합니다. 예를 들어,http: ^0.13.0
와 같이 추가할 수 있습니다. - API 호출 함수 생성: 특정 도시의 날씨 정보를 가져오기 위한 API 호출 함수를 생성합니다. 아래는 예시 코드입니다.
import 'package:http/http.dart' as http;
import 'dart:convert';
Future<Map<String, dynamic>> fetchWeather(String city) async {
final response = await http.get(Uri.parse('http://api.weatherapi.com/v1/current.json?key=YOUR_API_KEY&q=$city'));
if (response.statusCode == 200) {
// API 호출이 성공적으로 이루어진 경우
return json.decode(response.body);
} else {
// API 호출이 실패한 경우
throw Exception('Failed to fetch weather');
}
}
위의 코드에서 YOUR_API_KEY
부분에는 사용하고 있는 날씨 API의 액세스 키를 넣어주어야 합니다. 또한, city
매개변수에 원하는 도시 이름을 전달하여 해당 도시의 날씨 정보를 가져올 수 있습니다.
- 날씨 정보 출력: API 호출 함수를 사용하여 날씨 정보를 가져온 후, 해당 정보를 화면에 출력합니다. 예를 들어,
fetchWeather
함수를 호출하는 버튼을 가진 위젯을 생성하고, 버튼을 클릭할 때마다 날씨 정보를 얻어와 화면에 표시할 수 있습니다.
위의 예제 코드는 플러터에서 GET 메소드를 사용하여 특정 도시의 날씨 정보를 가져오는 방법을 보여줍니다. 기존 날씨 API를 사용하는 대신 다른 API를 사용하고 싶다면, 해당 API의 문서를 참조하여 요청 URL 및 응답 형식을 확인해야 합니다.