[flutter] 플러터 앱에서 GET 메소드를 사용하여 사용자의 최근 검색 기록을 가져오는 방법은 무엇인가요?

플러터 앱에서 GET 메소드를 사용하여 사용자의 최근 검색 기록을 가져오려면, 서버에 요청을 보내고 응답을 받아와야 합니다. 이를 위해 플러터에서는 http 패키지를 사용할 수 있습니다.

먼저, http 패키지를 pubspec.yaml 파일에 추가해야 합니다. 아래와 같이 dependencies 섹션에 http: ^0.12.2를 추가합니다.

dependencies:
  flutter:
    sdk: flutter
  http: ^0.12.2

의존성을 추가한 후, 코드에서 http 패키지를 import합니다.

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

이제 GET 요청을 보낼 코드를 작성해보겠습니다. 예를 들어, 사용자의 최근 검색 기록을 가져올 수 있는 /search_history 엔드포인트를 사용한다고 가정해보겠습니다.

Future<List<String>> fetchSearchHistory() async {
  final url = 'https://your-api.com/search_history';
  final response = await http.get(url);
  
  if (response.statusCode == 200) {
    // 응답이 성공일 경우, JSON 데이터를 파싱하여 검색 기록 목록을 반환합니다.
    final jsonResponse = json.decode(response.body);
    return List<String>.from(jsonResponse['search_history']);
  } else {
    // 응답이 실패할 경우, 예외를 발생시킵니다.
    throw Exception('Failed to fetch search history');
  }
}

위의 코드에서 url 변수에는 서버의 실제 엔드포인트 URL을 입력해야 합니다. 응답이 성공하는 경우, JSON 데이터를 파싱하여 검색 기록 목록을 반환합니다.

사용자의 최근 검색 기록을 가져오기 위해 위의 함수를 호출할 수 있습니다. 예를 들어, initState 메소드에서 호출하여 앱이 시작될 때 최근 검색 기록을 가져올 수 있습니다.

@override
void initState() {
  super.initState();
  fetchSearchHistory().then((searchHistory) {
    // 검색 기록을 가져온 후, 필요한 작업을 수행합니다.
    // 예: 상태 업데이트 또는 화면 갱신
  }).catchError((error) {
    // 검색 기록을 가져오는 동안 에러가 발생한 경우, 에러 처리를 수행합니다.
    print('Error fetching search history: $error');
  });
}

위의 예제는 GET 메소드를 사용하여 서버에서 사용자의 최근 검색 기록을 가져오는 방법을 보여줍니다. 실제 앱에서는 서버와의 통신을 위한 엔드포인트와 데이터 형식을 정확히 알아야 합니다.