[flutter] 플러터에서 GET 메소드를 사용하여 주변 식당 리스트를 가져오는 방법은 무엇인가요?
  1. HTTP 패키지 설치: 먼저, HTTP 요청을 보내기 위해 http 패키지를 설치해야 합니다. pubspec.yaml 파일에 아래의 의존성을 추가하고, 패키지를 가져오세요:

    dependencies:
      http: ^0.13.4
    

    패키지 가져오기:

    import 'package:http/http.dart' as http;
    
  2. GET 요청 보내기: http.get() 메소드를 사용하여 GET 요청을 보냅니다. 요청할 API의 URL을 전달해야 합니다.

    Future<void> fetchRestaurants() async {
      var url = Uri.parse('https://api.example.com/restaurants');
      var response = await http.get(url);
    
      if (response.statusCode == 200) {  // 성공적인 응답 확인
        // 응답 JSON 파싱
        final jsonData = json.decode(response.body);
        // 파싱된 데이터 처리
        processRestaurantData(jsonData);
      } else {
        // 오류 처리
        throw Exception('Failed to load restaurants');
      }
    }
    

    이 함수는 비동기로 동작합니다. await를 사용하여 HTTP 응답이 반환될 때까지 기다립니다. 응답이 성공적으로 도착하면, 응답 본문을 JSON으로 파싱하여 데이터를 처리할 수 있습니다.

  3. 데이터 처리: processRestaurantData() 함수에서 응답으로 받은 식당 데이터를 처리할 수 있습니다. 여기서는 간단한 예시로 식당 이름을 콘솔에 출력하는 것을 보여드리겠습니다:

    void processRestaurantData(Map<String, dynamic> jsonData) {
      List<dynamic> restaurants = jsonData['restaurants'];
    
      for (var restaurant in restaurants) {
        String name = restaurant['name'];
        print(name);
      }
    }
    

    이렇게 하면 GET 메소드를 사용하여 주변 식당 리스트를 가져올 수 있습니다. 실제 API에서 반환되는 데이터에 따라 데이터 처리 방식을 변경해야 할 수 있습니다.

참고 자료: